Imported Upstream version 2.12.0 upstream/2.12.0
authorDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 18 Jul 2022 02:07:36 +0000 (11:07 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 18 Jul 2022 02:07:36 +0000 (11:07 +0900)
654 files changed:
AUTHORS
CHANGES
LICENSE
Makefile
PKG-INFO
Pygments.egg-info/PKG-INFO
Pygments.egg-info/SOURCES.txt
Pygments.egg-info/entry_points.txt
README.rst
doc/_templates/languages.html [new file with mode: 0644]
doc/_themes/pygments14/layout.html
doc/_themes/pygments14/static/pygments14.css_t
doc/conf.py
doc/docs/api.rst
doc/docs/filters.rst
doc/docs/index.rst
doc/docs/lexerdevelopment.rst
doc/docs/terminal-sessions.rst [new file with mode: 0644]
doc/faq.rst
doc/languages.rst [deleted file]
external/autopygmentize
external/lilypond-builtins-generator.ly
external/markdown-processor.py
external/moin-parser.py
external/rst-directive.py
external/scheme-builtins-generator.scm [new file with mode: 0644]
pygments/__init__.py
pygments/__main__.py
pygments/cmdline.py
pygments/console.py
pygments/filter.py
pygments/filters/__init__.py
pygments/formatter.py
pygments/formatters/__init__.py
pygments/formatters/_mapping.py
pygments/formatters/bbcode.py
pygments/formatters/groff.py
pygments/formatters/html.py
pygments/formatters/img.py
pygments/formatters/irc.py
pygments/formatters/latex.py
pygments/formatters/other.py
pygments/formatters/pangomarkup.py
pygments/formatters/rtf.py
pygments/formatters/svg.py
pygments/formatters/terminal.py
pygments/formatters/terminal256.py
pygments/lexer.py
pygments/lexers/__init__.py
pygments/lexers/_ada_builtins.py [new file with mode: 0644]
pygments/lexers/_asy_builtins.py
pygments/lexers/_cl_builtins.py
pygments/lexers/_cocoa_builtins.py
pygments/lexers/_csound_builtins.py
pygments/lexers/_css_builtins.py [new file with mode: 0644]
pygments/lexers/_julia_builtins.py
pygments/lexers/_lasso_builtins.py
pygments/lexers/_lilypond_builtins.py
pygments/lexers/_lua_builtins.py
pygments/lexers/_mapping.py
pygments/lexers/_mql_builtins.py
pygments/lexers/_mysql_builtins.py
pygments/lexers/_openedge_builtins.py
pygments/lexers/_php_builtins.py
pygments/lexers/_postgres_builtins.py
pygments/lexers/_qlik_builtins.py [new file with mode: 0644]
pygments/lexers/_scheme_builtins.py [new file with mode: 0644]
pygments/lexers/_scilab_builtins.py
pygments/lexers/_sourcemod_builtins.py
pygments/lexers/_stan_builtins.py
pygments/lexers/_stata_builtins.py
pygments/lexers/_tsql_builtins.py
pygments/lexers/_usd_builtins.py
pygments/lexers/_vbscript_builtins.py
pygments/lexers/_vim_builtins.py
pygments/lexers/actionscript.py
pygments/lexers/ada.py [new file with mode: 0644]
pygments/lexers/agile.py
pygments/lexers/algebra.py
pygments/lexers/ambient.py
pygments/lexers/amdgpu.py
pygments/lexers/ampl.py
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
pygments/lexers/basic.py
pygments/lexers/bdd.py
pygments/lexers/berry.py [new file with mode: 0644]
pygments/lexers/bibtex.py
pygments/lexers/boa.py
pygments/lexers/business.py
pygments/lexers/c_cpp.py
pygments/lexers/c_like.py
pygments/lexers/capnproto.py
pygments/lexers/cddl.py
pygments/lexers/chapel.py
pygments/lexers/clean.py
pygments/lexers/compiled.py
pygments/lexers/configs.py
pygments/lexers/console.py
pygments/lexers/cplint.py [new file with mode: 0644]
pygments/lexers/crystal.py
pygments/lexers/csound.py
pygments/lexers/css.py
pygments/lexers/d.py
pygments/lexers/dalvik.py
pygments/lexers/data.py
pygments/lexers/devicetree.py
pygments/lexers/diff.py
pygments/lexers/dotnet.py
pygments/lexers/dsls.py
pygments/lexers/dylan.py
pygments/lexers/ecl.py
pygments/lexers/eiffel.py
pygments/lexers/elm.py
pygments/lexers/elpi.py
pygments/lexers/email.py
pygments/lexers/erlang.py
pygments/lexers/esoteric.py
pygments/lexers/ezhil.py
pygments/lexers/factor.py
pygments/lexers/fantom.py
pygments/lexers/felix.py
pygments/lexers/floscript.py
pygments/lexers/forth.py
pygments/lexers/fortran.py
pygments/lexers/foxpro.py
pygments/lexers/freefem.py
pygments/lexers/functional.py
pygments/lexers/futhark.py
pygments/lexers/gcodelexer.py
pygments/lexers/gdscript.py
pygments/lexers/go.py
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
pygments/lexers/hexdump.py
pygments/lexers/html.py
pygments/lexers/idl.py
pygments/lexers/igor.py
pygments/lexers/inferno.py
pygments/lexers/installers.py
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
pygments/lexers/lilypond.py
pygments/lexers/lisp.py
pygments/lexers/macaulay2.py [new file with mode: 0644]
pygments/lexers/make.py
pygments/lexers/markup.py
pygments/lexers/math.py
pygments/lexers/matlab.py
pygments/lexers/maxima.py
pygments/lexers/mcfunction.py [new file with mode: 0644]
pygments/lexers/meson.py
pygments/lexers/mime.py
pygments/lexers/ml.py
pygments/lexers/modeling.py
pygments/lexers/modula2.py
pygments/lexers/monte.py
pygments/lexers/mosel.py
pygments/lexers/ncl.py
pygments/lexers/nimrod.py
pygments/lexers/nit.py
pygments/lexers/nix.py
pygments/lexers/oberon.py
pygments/lexers/objective.py
pygments/lexers/ooc.py
pygments/lexers/other.py
pygments/lexers/parasail.py
pygments/lexers/parsers.py
pygments/lexers/pascal.py
pygments/lexers/pawn.py
pygments/lexers/perl.py
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
pygments/lexers/q.py [new file with mode: 0644]
pygments/lexers/qlik.py [new file with mode: 0644]
pygments/lexers/qvt.py
pygments/lexers/r.py
pygments/lexers/rdf.py
pygments/lexers/rebol.py
pygments/lexers/resource.py
pygments/lexers/ride.py
pygments/lexers/rita.py
pygments/lexers/rnc.py
pygments/lexers/roboconf.py
pygments/lexers/robotframework.py
pygments/lexers/ruby.py
pygments/lexers/rust.py
pygments/lexers/sas.py
pygments/lexers/savi.py
pygments/lexers/scdoc.py
pygments/lexers/scripting.py
pygments/lexers/sgf.py
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
pygments/lexers/sophia.py
pygments/lexers/special.py
pygments/lexers/spice.py
pygments/lexers/sql.py
pygments/lexers/srcinfo.py
pygments/lexers/stata.py
pygments/lexers/supercollider.py
pygments/lexers/tal.py [new file with mode: 0644]
pygments/lexers/tcl.py
pygments/lexers/teal.py
pygments/lexers/templates.py
pygments/lexers/teraterm.py
pygments/lexers/testing.py
pygments/lexers/text.py
pygments/lexers/textedit.py
pygments/lexers/textfmts.py
pygments/lexers/theorem.py
pygments/lexers/thingsdb.py
pygments/lexers/tnt.py
pygments/lexers/trafficscript.py
pygments/lexers/typoscript.py
pygments/lexers/ul4.py [new file with mode: 0644]
pygments/lexers/unicon.py
pygments/lexers/urbi.py
pygments/lexers/usd.py
pygments/lexers/varnish.py
pygments/lexers/verification.py
pygments/lexers/web.py
pygments/lexers/webassembly.py
pygments/lexers/webidl.py
pygments/lexers/webmisc.py
pygments/lexers/whiley.py
pygments/lexers/x10.py
pygments/lexers/xorg.py
pygments/lexers/yang.py
pygments/lexers/zig.py
pygments/modeline.py
pygments/plugin.py
pygments/regexopt.py
pygments/scanner.py
pygments/sphinxext.py
pygments/style.py
pygments/styles/__init__.py
pygments/styles/abap.py
pygments/styles/algol.py
pygments/styles/algol_nu.py
pygments/styles/arduino.py
pygments/styles/autumn.py
pygments/styles/borland.py
pygments/styles/bw.py
pygments/styles/colorful.py
pygments/styles/default.py
pygments/styles/dracula.py
pygments/styles/emacs.py
pygments/styles/friendly.py
pygments/styles/friendly_grayscale.py
pygments/styles/fruity.py
pygments/styles/gruvbox.py
pygments/styles/igor.py
pygments/styles/inkpot.py
pygments/styles/lilypond.py
pygments/styles/lovelace.py
pygments/styles/manni.py
pygments/styles/material.py
pygments/styles/monokai.py
pygments/styles/murphy.py
pygments/styles/native.py
pygments/styles/onedark.py
pygments/styles/paraiso_dark.py
pygments/styles/paraiso_light.py
pygments/styles/pastie.py
pygments/styles/perldoc.py
pygments/styles/rainbow_dash.py
pygments/styles/rrt.py
pygments/styles/sas.py
pygments/styles/solarized.py
pygments/styles/stata_dark.py
pygments/styles/stata_light.py
pygments/styles/tango.py
pygments/styles/trac.py
pygments/styles/vim.py
pygments/styles/vs.py
pygments/styles/xcode.py
pygments/styles/zenburn.py
pygments/token.py
pygments/unistring.py
pygments/util.py
scripts/check_crlf.py
scripts/check_repeated_token.py
scripts/check_sources.py
scripts/count_token_references.py
scripts/debug_lexer.py
scripts/detect_missing_analyse_text.py
scripts/get_css_properties.py [new file with mode: 0644]
scripts/get_vimkw.py
scripts/pylintrc
scripts/vim2pygments.py
setup.cfg
tests/__init__.py
tests/conftest.py
tests/examplefiles/berry/berry.be [new file with mode: 0644]
tests/examplefiles/berry/berry.be.output [new file with mode: 0644]
tests/examplefiles/c/ceval.c.output
tests/examplefiles/c/example.c.output
tests/examplefiles/c/labels.c
tests/examplefiles/c/labels.c.output
tests/examplefiles/ceylon/example.ceylon.output
tests/examplefiles/clojure/clojure-weird-keywords.clj.output
tests/examplefiles/clojure/escape_semicolon.clj.output
tests/examplefiles/clojure/genclass.clj.output
tests/examplefiles/clojure/loggers.cljc [new file with mode: 0644]
tests/examplefiles/clojure/loggers.cljc.output [new file with mode: 0644]
tests/examplefiles/clojurescript/core.cljs.output
tests/examplefiles/coffee-script/example.coffee.output
tests/examplefiles/coffee-script/underscore.coffee.output
tests/examplefiles/common-lisp/type.lisp.output
tests/examplefiles/conftest.py
tests/examplefiles/cplint/bag_game_mpe.pl [new file with mode: 0644]
tests/examplefiles/cplint/bag_game_mpe.pl.output [new file with mode: 0644]
tests/examplefiles/cplint/coin.pl [new file with mode: 0644]
tests/examplefiles/cplint/coin.pl.output [new file with mode: 0644]
tests/examplefiles/cplint/dt_umbrella.pl [new file with mode: 0644]
tests/examplefiles/cplint/dt_umbrella.pl.output [new file with mode: 0644]
tests/examplefiles/cplint/gaussian_mixture.pl [new file with mode: 0644]
tests/examplefiles/cplint/gaussian_mixture.pl.output [new file with mode: 0644]
tests/examplefiles/cplint/indian_gpadc.pl [new file with mode: 0644]
tests/examplefiles/cplint/indian_gpadc.pl.output [new file with mode: 0644]
tests/examplefiles/cpsa/yahalom.cpsa.output
tests/examplefiles/dart/test.dart.output
tests/examplefiles/duel/jbst_example1.jbst.output
tests/examplefiles/duel/jbst_example2.jbst.output
tests/examplefiles/earl-grey/eg_example1.eg.output
tests/examplefiles/ec/test.ec.output
tests/examplefiles/emacs/subr.el.output
tests/examplefiles/extempore/example.xtm.output
tests/examplefiles/fennel/fennelview.fnl.output
tests/examplefiles/futhark/example.fut
tests/examplefiles/futhark/example.fut.output
tests/examplefiles/golo/example.golo.output
tests/examplefiles/golo/hello.golo.output
tests/examplefiles/gosu/example.gs.output
tests/examplefiles/groovy/example.groovy.output
tests/examplefiles/groovy/quoted.groovy.output
tests/examplefiles/groovy/test.gradle.output
tests/examplefiles/groovy/test.groovy.output
tests/examplefiles/gst/example.gst.output
tests/examplefiles/html/example.xhtml.output
tests/examplefiles/html/test.html.output
tests/examplefiles/hylang/language.hy.output
tests/examplefiles/idl/idl_sample.pro.output
tests/examplefiles/inform6/inform6_example
tests/examplefiles/inform6/inform6_example.output
tests/examplefiles/ioke/intro.ik.output
tests/examplefiles/j/pacman.ijs.output
tests/examplefiles/jasmin/example.j.output
tests/examplefiles/java/badcase.java.output
tests/examplefiles/java/example.java.output
tests/examplefiles/java/test.java.output
tests/examplefiles/javascript+mozpreproc/demo.js.in.output
tests/examplefiles/js/BOM.js.output
tests/examplefiles/js/evil_regex.js.output
tests/examplefiles/js/general.js.output
tests/examplefiles/js/regex.js.output
tests/examplefiles/js/unicode.js.output
tests/examplefiles/jsp/test.jsp.output
tests/examplefiles/julia/string.jl.output
tests/examplefiles/juttle/example.juttle.output
tests/examplefiles/kal/example.kal.output
tests/examplefiles/kotlin/example.kt.output
tests/examplefiles/kuin/example.kn.output
tests/examplefiles/lasso/json.lasso.output
tests/examplefiles/lasso/json.lasso9.output
tests/examplefiles/lilypond/example.ly
tests/examplefiles/lilypond/example.ly.output
tests/examplefiles/limbo/limbo.b.output
tests/examplefiles/live-script/livescript-demo.ls.output
tests/examplefiles/macaulay2/test.m2 [new file with mode: 0644]
tests/examplefiles/macaulay2/test.m2.output [new file with mode: 0644]
tests/examplefiles/mask/test.mask.output
tests/examplefiles/mcfunction/main.mcfunction [new file with mode: 0644]
tests/examplefiles/mcfunction/main.mcfunction.output [new file with mode: 0644]
tests/examplefiles/nesc/IPDispatchP.nc.output
tests/examplefiles/newlisp/irc.lsp.output
tests/examplefiles/newlisp/markdown.lsp.output
tests/examplefiles/newlisp/reversi.lsp.output
tests/examplefiles/nodejsrepl/nodejsrepl_test.nodejsrepl.output
tests/examplefiles/nsis/bigtest.nsi.output
tests/examplefiles/objective-j/CPDictionary.j.output
tests/examplefiles/pig/test.pig.output
tests/examplefiles/pike/FakeFile.pike.output
tests/examplefiles/pov/sphere.pov
tests/examplefiles/pov/sphere.pov.output
tests/examplefiles/q/example.q [new file with mode: 0644]
tests/examplefiles/q/example.q.output [new file with mode: 0644]
tests/examplefiles/qlik/example.qvs [new file with mode: 0644]
tests/examplefiles/qlik/example.qvs.output [new file with mode: 0644]
tests/examplefiles/racket/example.rkt.output
tests/examplefiles/ragel-cpp/ragel-cpp_rlscan.output
tests/examplefiles/rhtml/test.rhtml.output
tests/examplefiles/savi/example.savi
tests/examplefiles/savi/example.savi.output
tests/examplefiles/scala/char.scala.output
tests/examplefiles/scala/comments.scala.output
tests/examplefiles/scala/constants.scala.output
tests/examplefiles/scala/declarations.scala.output
tests/examplefiles/scala/dependent-types.scala.output
tests/examplefiles/scala/end-soft-keyword.scala.output
tests/examplefiles/scala/end.scala.output
tests/examplefiles/scala/exports.scala.output
tests/examplefiles/scala/extensions.scala.output
tests/examplefiles/scala/for-comprehension.scala.output
tests/examplefiles/scala/imports.scala.output
tests/examplefiles/scala/inheritance.scala.output
tests/examplefiles/scala/inline.scala.output
tests/examplefiles/scala/interpolated-string.scala.output
tests/examplefiles/scala/match-types.scala.output
tests/examplefiles/scala/new.scala.output
tests/examplefiles/scala/operators.scala.output
tests/examplefiles/scala/package.scala.output
tests/examplefiles/scala/pattern-matching.scala.output
tests/examplefiles/scala/quoted.scala.output
tests/examplefiles/scala/singleton-types.scala.output
tests/examplefiles/scala/soft-keywords.scala.output
tests/examplefiles/scala/storage-modifiers.scala.output
tests/examplefiles/scala/symbols.scala.output
tests/examplefiles/scala/type-operators.scala.output
tests/examplefiles/scala/using.scala.output
tests/examplefiles/scaml/test.scaml.output
tests/examplefiles/scheme/boot-9.scm.output
tests/examplefiles/scheme/r6rs-comments.scm
tests/examplefiles/scheme/r6rs-comments.scm.output
tests/examplefiles/shen/test.shen.output
tests/examplefiles/snbt/main.snbt [new file with mode: 0644]
tests/examplefiles/snbt/main.snbt.output [new file with mode: 0644]
tests/examplefiles/sourceslist/sources.list.output
tests/examplefiles/spec/phpMyAdmin.spec.output
tests/examplefiles/spice/example.spice
tests/examplefiles/spice/example.spice.output
tests/examplefiles/ssp/test.ssp.output
tests/examplefiles/stan/example.stan
tests/examplefiles/stan/example.stan.output
tests/examplefiles/tal/piano.tal [new file with mode: 0644]
tests/examplefiles/tal/piano.tal.output [new file with mode: 0644]
tests/examplefiles/tea/example.tea.output
tests/examplefiles/ts/typescript_example.output
tests/examplefiles/ul4/example_operators.ul4 [new file with mode: 0644]
tests/examplefiles/ul4/example_operators.ul4.output [new file with mode: 0644]
tests/examplefiles/ul4/example_tags.ul4 [new file with mode: 0644]
tests/examplefiles/ul4/example_tags.ul4.output [new file with mode: 0644]
tests/examplefiles/ul4/example_template.ul4 [new file with mode: 0644]
tests/examplefiles/ul4/example_template.ul4.output [new file with mode: 0644]
tests/examplefiles/ul4/example_types.ul4 [new file with mode: 0644]
tests/examplefiles/ul4/example_types.ul4.output [new file with mode: 0644]
tests/examplefiles/xtend/example.xtend.output
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_anchor_filename.html
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_anchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_noanchor_filename.html
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_noanchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_anchor_filename.html
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_anchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_noanchor_filename.html
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_noanchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_anchor_filename.html
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_anchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_noanchor_filename.html
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_noanchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_anchor_filename.html
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_anchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_noanchor_filename.html
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_noanchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_anchor_filename.html
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_anchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_noanchor_filename.html
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_noanchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_anchor_filename.html
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_anchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_noanchor_filename.html
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_noanchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_anchor_filename.html
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_anchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_noanchor_filename.html
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_noanchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_anchor_filename.html
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_anchor_nofilename.html
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_noanchor_filename.html
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_noanchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_anchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_anchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_noanchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_noanchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_anchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_anchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_noanchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_noanchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_anchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_anchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_noanchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_noanchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_anchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_anchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_noanchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_noanchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_anchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_anchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_noanchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_noanchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_anchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_anchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_noanchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_noanchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_anchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_anchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_noanchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_noanchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_anchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_anchor_nofilename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_noanchor_filename.html
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_noanchor_nofilename.html
tests/snippets/c/test_switch.txt
tests/snippets/c/test_switch_space_before_colon.txt
tests/snippets/coffeescript/test_beware_infinite_loop.txt
tests/snippets/coffeescript/test_mixed_slashes.txt
tests/snippets/conftest.py
tests/snippets/elpi/test_catastrophic_backtracking.txt [new file with mode: 0644]
tests/snippets/elpi/test_pred.txt
tests/snippets/elpi/test_type.txt
tests/snippets/html/multiline-comment-catastrophic-backtracking.txt [new file with mode: 0644]
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/java/test_record.txt
tests/snippets/js/super.txt [new file with mode: 0644]
tests/snippets/julia-repl/test_repl.txt
tests/snippets/julia/test_keywords.txt
tests/snippets/julia/test_macros.txt
tests/snippets/julia/test_names.txt
tests/snippets/julia/test_numbers.txt
tests/snippets/julia/test_operators.txt
tests/snippets/julia/test_strings.txt
tests/snippets/julia/test_symbols.txt
tests/snippets/julia/test_types.txt
tests/snippets/julia/test_unicode.txt
tests/snippets/kotlin/test_can_cope_generics_in_destructuring.txt
tests/snippets/kotlin/test_can_cope_with_backtick_names_in_functions.txt
tests/snippets/kotlin/test_can_cope_with_commas_and_dashes_in_backtick_Names.txt
tests/snippets/kotlin/test_can_cope_with_destructuring.txt
tests/snippets/kotlin/test_can_cope_with_generics.txt
tests/snippets/kotlin/test_modifier_keyword.txt
tests/snippets/kotlin/test_should_cope_with_multiline_comments.txt
tests/snippets/kotlin/test_string_interpolation.txt
tests/snippets/mcfunction/commenting.txt [new file with mode: 0644]
tests/snippets/mcfunction/coordinates.txt [new file with mode: 0644]
tests/snippets/mcfunction/data.txt [new file with mode: 0644]
tests/snippets/mcfunction/difficult_1.txt [new file with mode: 0644]
tests/snippets/mcfunction/multiline.txt [new file with mode: 0644]
tests/snippets/mcfunction/selectors.txt [new file with mode: 0644]
tests/snippets/mcfunction/simple.txt [new file with mode: 0644]
tests/snippets/scala/test_colon_colon_function_name.txt
tests/snippets/scala/test_default_parameter.txt
tests/snippets/scala/test_end_val.txt
tests/snippets/scala/test_end_valx.txt
tests/snippets/scala/test_float_with_exponents.txt
tests/snippets/scala/test_function_operator_name.txt
tests/snippets/scala/test_import_path.txt
tests/snippets/scala/test_invalid_symbol_and_invalid_char.txt
tests/snippets/scala/test_open_soft_keyword.txt
tests/snippets/scala/test_package_name.txt
tests/snippets/scala/test_prepend_operator.txt
tests/snippets/scala/test_qualified_name.txt
tests/snippets/scala/test_qualified_name_class.txt
tests/snippets/scala/test_script_header.txt
tests/snippets/scala/test_symbol_followed_by_op.txt
tests/snippets/scala/test_symbol_name_ending_with_star.txt
tests/snippets/scala/test_underscore_name.txt
tests/snippets/scheme/keywords.txt [new file with mode: 0644]
tests/snippets/scheme/numbers.txt [new file with mode: 0644]
tests/snippets/scheme/strings.txt [new file with mode: 0644]
tests/snippets/snbt/json.txt [new file with mode: 0644]
tests/snippets/snbt/literals.txt [new file with mode: 0644]
tests/snippets/snbt/multiline.txt [new file with mode: 0644]
tests/snippets/snbt/nesting.txt [new file with mode: 0644]
tests/snippets/snbt/quoted_keys.txt [new file with mode: 0644]
tests/snippets/terraform/test_backend.txt
tests/snippets/terraform/test_comment.txt
tests/snippets/terraform/test_functions.txt
tests/snippets/terraform/test_heredoc.txt
tests/snippets/terraform/test_module.txt
tests/snippets/terraform/test_resource.txt
tests/snippets/terraform/test_types.txt
tests/snippets/terraform/test_variable_declaration.txt
tests/snippets/terraform/test_variable_read.txt
tests/snippets/typescript/test_function_definition.txt
tests/snippets/unixconfig/etc_group.txt [new file with mode: 0644]
tests/snippets/unixconfig/etc_passwd.txt [new file with mode: 0644]
tests/snippets/unixconfig/etc_shadow.txt [new file with mode: 0644]
tests/snippets/xml/multiline-comment-catastrophic-backtracking.txt [new file with mode: 0644]
tests/test_basic_api.py
tests/test_cmdline.py
tests/test_coffeescript.py
tests/test_crystal.py
tests/test_data.py
tests/test_devicetree_lexer.py
tests/test_groff_formatter.py [new file with mode: 0644]
tests/test_guess.py
tests/test_html_formatter.py
tests/test_html_lexer.py
tests/test_inherit.py
tests/test_irc_formatter.py
tests/test_java.py
tests/test_javascript.py
tests/test_latex_formatter.py
tests/test_markdown_lexer.py
tests/test_modeline.py
tests/test_mysql.py
tests/test_pangomarkup_formatter.py
tests/test_perllexer.py
tests/test_regexlexer.py
tests/test_regexopt.py
tests/test_robotframework_lexer.py
tests/test_rtf_formatter.py
tests/test_sql.py
tests/test_terminal_formatter.py
tests/test_tnt.py
tests/test_token.py
tests/test_unistring.py
tests/test_using_api.py
tests/test_util.py
tests/test_words.py

diff --git a/AUTHORS b/AUTHORS
index d33be6487884088b5c3a647de2ccc79d6363ad67..9f417bf90905edbc590ec0050da0be5abb6fa822 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -16,6 +16,7 @@ Other contributors, listed alphabetically, are:
 * Andreas Amann -- AppleScript lexer
 * Timothy Armstrong -- Dart lexer fixes
 * Jeffrey Arnold -- R/S, Rd, BUGS, Jags, and Stan lexers
+* Eiríkr Åsheim -- Uxntal lexer
 * Jeremy Ashkenas -- CoffeeScript lexer
 * José Joaquín Atria -- Praat lexer
 * Stefan Matthias Aust -- Smalltalk lexer
@@ -50,6 +51,7 @@ Other contributors, listed alphabetically, are:
 * Pete Curry -- bugfixes
 * Bryan Davis -- EBNF lexer
 * Bruno Deferrari -- Shen lexer
+* Walter Dörwald -- UL4 lexer
 * Luke Drummond -- Meson lexer
 * Giedrius Dubinskas -- HTML formatter improvements
 * Owen Durni -- Haxe lexer
@@ -145,7 +147,7 @@ Other contributors, listed alphabetically, are:
 * Stephen McKamey -- Duel/JBST lexer
 * Brian McKenna -- F# lexer
 * Charles McLaughlin -- Puppet lexer
-* Kurt McKee -- Tera Term macro lexer, PostgreSQL updates, MySQL overhaul
+* Kurt McKee -- Tera Term macro lexer, PostgreSQL updates, MySQL overhaul, JSON lexer
 * Joe Eli McIlvain -- Savi lexer
 * Lukas Meuser -- BBCode formatter, Lua lexer
 * Cat Miller -- Pig lexer
@@ -176,6 +178,7 @@ Other contributors, listed alphabetically, are:
 * Clément Prévost -- UrbiScript lexer
 * Tanner Prynn -- cmdline -x option and loading lexers from files
 * Oleh Prypin -- Crystal lexer (based on Ruby lexer)
+* Nick Psaris -- K and Q lexers
 * Xidorn Quan -- Web IDL lexer
 * Elias Rabel -- Fortran fixed form lexer
 * raichoo -- Idris lexer
@@ -185,6 +188,7 @@ Other contributors, listed alphabetically, are:
 * Justin Reidy -- MXML lexer
 * Norman Richards -- JSON lexer
 * Corey Richardson -- Rust lexer updates
+* Fabrizio Riguzzi -- cplint leder 
 * Lubomir Rintel -- GoodData MAQL and CL lexers
 * Andre Roberge -- Tango style
 * Georg Rollinger -- HSAIL lexer
@@ -221,6 +225,7 @@ Other contributors, listed alphabetically, are:
 * Jeremy Thurgood -- Erlang, Squid config lexers
 * Brian Tiffin -- OpenCOBOL lexer
 * Bob Tolbert -- Hy lexer
+* Doug Torrance -- Macaulay2 lexer
 * Matthias Trute -- Forth lexer
 * Tuoa Spi T4 -- Bdd lexer
 * Erick Tryzelaar -- Felix lexer
diff --git a/CHANGES b/CHANGES
index 16b04371007a0309ea24ec4950b7eb6aaed23d1d..87c5d3494389df846e7646e1bcd5275efb80bc37 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -5,7 +5,64 @@ Pull request numbers before 2.4.2 are not linked as they refer to the now defunc
 
 Version 2.12.0
 --------------
-(not released yet)
+(released April 24th, 2022)
+
+- Added lexers:
+
+  * Cplint (#2045)
+  * Macaulay2 (#1791)
+  * Minecraft (#2107)
+  * Qlik (#1925)
+  * ``UnixConfigLexer`` for "colon-separated" config files, like ``/etc/passwd`` (#2112)
+
+- Updated lexers:
+
+  * Agda: Update keyword list (#2017)
+  * C family: Fix identifiers after ``case`` statements (#2084)
+  * Clojure: Highlight ratios (#2042)
+  * Csound: Update to 6.17 (#2064)
+  * CSS: Update the list of properties (#2113)
+  * Elpi:
+  
+    - Fix catastrophic backtracking (#2053, #2061)
+    - Fix handling of ``->`` (#2028)
+
+  * Futhark: Add missing tokens (#2118)
+  * Gherkin: Add ``But`` (#2046)
+  * Inform6: Update to 6.36 (#2050)
+  * JSON: Support C comments in JSON (#2049). Note: This doesn't mean the JSON parser now supports JSONC or JSON5 proper, just that it doesn't error out when seeing a ``/* */`` or ``//`` style comment. If you need proper comment handling, consider using the ``JavaScript`` lexer.
+  * LilyPond:
+  
+    - Fix incorrect lexing of names containing a built-in (#2071)
+    - Fix properties containing dashes (#2099)
+
+  * PHP: Update builtin function and keyword list (#2054, #2056)
+  * Scheme: Various improvements (#2060)
+  * Spice: Update the keyword list, add new types (#2063, #2067)
+  * Terraform:
+  
+    - Support non-idiomatic comments (#2065, #2066)
+    - Fix class name lexing (#2097)
+
+- Add ``plugins`` argument to ``get_all_lexers()``.
+- Bump minimal Python version to 3.6 (#2059)
+- Fix multiple lexers marking whitespace as ``Text`` (#2025)
+- Remove various redundant uses of ``re.UNICODE`` (#2058)
+- Associate ``.resource`` with the Robot framework (#2047)
+- Associate ``.cljc`` with Clojure (#2043)
+- Associate ``.tpp`` with C++ (#2031)
+- Remove traces of Python 2 from the documentation (#2039)
+- The ``native`` style was updated to meet the WCAG AAA contrast guidelines (#2038)
+- Fix various typos (#2030)
+- Fix ``Groff`` formatter not inheriting token styles correctly (#2024)
+- Various improvements to the CI (#2036)
+- The Ada lexer has been moved to a separate file (#2117)
+- When ``linenos=table`` is used, the ``<table>`` itself is now wrapped with a ``<div class="highlight">`` tag instead of placing it inside the ``<td class="code">`` cell (#632.) With this change, the output matches the documented behavior.
+
+.. note::
+
+  If you have subclassed ``HtmlFormatter.wrap``, you may have to adjust the logic.
+
 
 Version 2.11.2
 --------------
@@ -14,12 +71,13 @@ Version 2.11.2
 - Updated lexers:
 
   * C-family: Fix incorrect handling of labels (#2022, #1996, #1182)
-  * Java: Fixed an issue with ``record`` keywords result in ``Error`` tokens in some cases (#2018)
+  * Java: Fixed an issue with ``record`` keywords result in ``Error`` tokens in some cases (#2016, #2018)
 
 - Fix links to line numbers not working correctly (#2014)
 - Remove ``underline`` from ``Whitespace`` style in the ``Tango`` theme (#2020)
 - Fix ``IRC`` and ``Terminal256`` formatters not backtracking correctly for custom token types, resulting in some unstyled tokens (#1986)
 
+
 Version 2.11.1
 --------------
 (released December 31st, 2021)
@@ -30,6 +88,7 @@ Version 2.11.1
   * JSON: Fix a regression which caused whitespace before ``:`` to result in ``Error`` tokens (#2010)
   * SPICE: Various improvements (#2009)
 
+
 Version 2.11.0
 --------------
 (released December 30th, 2021)
@@ -68,13 +127,13 @@ Version 2.11.0
   * objdump-nasm: Improve handling of ``--no-show-raw-insn`` dumps (#1981)
   * Prolog: Support escaped ``\`` inside quoted strings (#1479)
   * Python:
-  
+
     - Support ``~`` in tracebacks (#2004)
     - Support the pattern matching keywords (#1797, #1994)
 
   * RobotFramework: Improve empty brace handling (#1921, #1922)
   * Terraform
-  
+
     - Add the 'set' type (#1909)
     - Support heredocs (#1909)
 
@@ -130,7 +189,7 @@ Version 2.10.0
   * LLVM (#1824)
   * Python (#1852)
   * Rust
-  
+
     - Fix lexing of "break" and "continue" (#1843)
     - Improve attribute handling (#1813)
 
@@ -215,6 +274,7 @@ Version 2.9.0
 
   * Gruvbox light+dark (#1763)
 
+
 Version 2.8.0
 -------------
 (released February 14, 2021)
@@ -297,6 +357,7 @@ Version 2.8.0
 - Improve ``analyze_text`` logic for ``CBM Basic V2`` (#1607)
 - Improve LaTeX formatter (#1708, #1709)
 
+
 Version 2.7.4
 -------------
 (released January 12, 2021)
@@ -333,6 +394,7 @@ Version 2.7.4
 
 Thanks to Google's OSS-Fuzz project for finding many of these bugs.
 
+
 Version 2.7.3
 -------------
 (released December 6, 2020)
@@ -788,7 +850,7 @@ Version 2.1.2
 
 Version 2.1.1
 -------------
-(relased Feb 14, 2016)
+(released Feb 14, 2016)
 
 - Fixed Jython compatibility (#1205)
 - Fixed HTML formatter output with leading empty lines (#1111)
diff --git a/LICENSE b/LICENSE
index e1b15663d9577517ee7a88524eac0db62e727b18..446a1a805c8a949579fb8a9799f2bec7777349dc 100644 (file)
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2006-2021 by the respective authors (see AUTHORS file).
+Copyright (c) 2006-2022 by the respective authors (see AUTHORS file).
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
index 404bd6d4ae1d41b16084abca024cc05b8c8bdeeb..d04bab4185552479b6d220428521e04a3d8e0448 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
 #
 # Combines scripts for common tasks.
 #
-# :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+# :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
 # :license: BSD, see LICENSE for details.
 #
 
index 190b64b70473ea911e340b94a769105dc634b7f4..fbede552c629bed2b3f5362ea33c67bfb9863858 100644 (file)
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: Pygments
-Version: 2.11.2
+Version: 2.12.0
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
@@ -20,7 +20,6 @@ Classifier: License :: OSI Approved :: BSD License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
@@ -30,7 +29,7 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Text Processing :: Filters
 Classifier: Topic :: Utilities
-Requires-Python: >=3.5
+Requires-Python: >=3.6
 License-File: LICENSE
 License-File: AUTHORS
 
@@ -50,6 +49,6 @@ are:
   formats that PIL supports and ANSI sequences
 * it is usable as a command-line tool and as a library
 
-Copyright 2006-2021 by the Pygments team, see ``AUTHORS``.
+Copyright 2006-2022 by the Pygments team, see ``AUTHORS``.
 Licensed under the BSD, see ``LICENSE`` for details.
 
index 190b64b70473ea911e340b94a769105dc634b7f4..fbede552c629bed2b3f5362ea33c67bfb9863858 100644 (file)
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: Pygments
-Version: 2.11.2
+Version: 2.12.0
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
@@ -20,7 +20,6 @@ Classifier: License :: OSI Approved :: BSD License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
@@ -30,7 +29,7 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Text Processing :: Filters
 Classifier: Topic :: Utilities
-Requires-Python: >=3.5
+Requires-Python: >=3.6
 License-File: LICENSE
 License-File: AUTHORS
 
@@ -50,6 +49,6 @@ are:
   formats that PIL supports and ANSI sequences
 * it is usable as a command-line tool and as a library
 
-Copyright 2006-2021 by the Pygments team, see ``AUTHORS``.
+Copyright 2006-2022 by the Pygments team, see ``AUTHORS``.
 Licensed under the BSD, see ``LICENSE`` for details.
 
index 542e202a41df9aaec65727c91f303db0dcbe59ba..bdb5d9cff7ea8afcec40ee30d80a5f119c0db7ad 100644 (file)
@@ -17,7 +17,6 @@ doc/conf.py
 doc/download.rst
 doc/faq.rst
 doc/index.rst
-doc/languages.rst
 doc/make.bat
 doc/pygmentize.1
 doc/styles.rst
@@ -34,6 +33,7 @@ doc/_templates/demo_sidebar.html
 doc/_templates/docssidebar.html
 doc/_templates/index_with_try.html
 doc/_templates/indexsidebar.html
+doc/_templates/languages.html
 doc/_templates/styles.html
 doc/_themes/pygments14/layout.html
 doc/_themes/pygments14/localtoc.html
@@ -64,6 +64,7 @@ doc/docs/quickstart.rst
 doc/docs/rstdirective.rst
 doc/docs/styledevelopment.rst
 doc/docs/styles.rst
+doc/docs/terminal-sessions.rst
 doc/docs/tokens.rst
 doc/docs/unicode.rst
 doc/examples/example.py
@@ -74,6 +75,7 @@ external/markdown-processor.py
 external/moin-parser.py
 external/pygments.bashcomp
 external/rst-directive.py
+external/scheme-builtins-generator.scm
 pygments/__init__.py
 pygments/__main__.py
 pygments/cmdline.py
@@ -106,10 +108,12 @@ pygments/formatters/svg.py
 pygments/formatters/terminal.py
 pygments/formatters/terminal256.py
 pygments/lexers/__init__.py
+pygments/lexers/_ada_builtins.py
 pygments/lexers/_asy_builtins.py
 pygments/lexers/_cl_builtins.py
 pygments/lexers/_cocoa_builtins.py
 pygments/lexers/_csound_builtins.py
+pygments/lexers/_css_builtins.py
 pygments/lexers/_julia_builtins.py
 pygments/lexers/_lasso_builtins.py
 pygments/lexers/_lilypond_builtins.py
@@ -120,6 +124,8 @@ pygments/lexers/_mysql_builtins.py
 pygments/lexers/_openedge_builtins.py
 pygments/lexers/_php_builtins.py
 pygments/lexers/_postgres_builtins.py
+pygments/lexers/_qlik_builtins.py
+pygments/lexers/_scheme_builtins.py
 pygments/lexers/_scilab_builtins.py
 pygments/lexers/_sourcemod_builtins.py
 pygments/lexers/_stan_builtins.py
@@ -129,6 +135,7 @@ pygments/lexers/_usd_builtins.py
 pygments/lexers/_vbscript_builtins.py
 pygments/lexers/_vim_builtins.py
 pygments/lexers/actionscript.py
+pygments/lexers/ada.py
 pygments/lexers/agile.py
 pygments/lexers/algebra.py
 pygments/lexers/ambient.py
@@ -144,6 +151,7 @@ pygments/lexers/automation.py
 pygments/lexers/bare.py
 pygments/lexers/basic.py
 pygments/lexers/bdd.py
+pygments/lexers/berry.py
 pygments/lexers/bibtex.py
 pygments/lexers/boa.py
 pygments/lexers/business.py
@@ -156,6 +164,7 @@ pygments/lexers/clean.py
 pygments/lexers/compiled.py
 pygments/lexers/configs.py
 pygments/lexers/console.py
+pygments/lexers/cplint.py
 pygments/lexers/crystal.py
 pygments/lexers/csound.py
 pygments/lexers/css.py
@@ -212,11 +221,13 @@ pygments/lexers/jvm.py
 pygments/lexers/kuin.py
 pygments/lexers/lilypond.py
 pygments/lexers/lisp.py
+pygments/lexers/macaulay2.py
 pygments/lexers/make.py
 pygments/lexers/markup.py
 pygments/lexers/math.py
 pygments/lexers/matlab.py
 pygments/lexers/maxima.py
+pygments/lexers/mcfunction.py
 pygments/lexers/meson.py
 pygments/lexers/mime.py
 pygments/lexers/ml.py
@@ -245,6 +256,8 @@ pygments/lexers/procfile.py
 pygments/lexers/prolog.py
 pygments/lexers/promql.py
 pygments/lexers/python.py
+pygments/lexers/q.py
+pygments/lexers/qlik.py
 pygments/lexers/qvt.py
 pygments/lexers/r.py
 pygments/lexers/rdf.py
@@ -277,6 +290,7 @@ pygments/lexers/sql.py
 pygments/lexers/srcinfo.py
 pygments/lexers/stata.py
 pygments/lexers/supercollider.py
+pygments/lexers/tal.py
 pygments/lexers/tcl.py
 pygments/lexers/teal.py
 pygments/lexers/templates.py
@@ -290,6 +304,7 @@ pygments/lexers/thingsdb.py
 pygments/lexers/tnt.py
 pygments/lexers/trafficscript.py
 pygments/lexers/typoscript.py
+pygments/lexers/ul4.py
 pygments/lexers/unicon.py
 pygments/lexers/urbi.py
 pygments/lexers/usd.py
@@ -352,6 +367,7 @@ scripts/check_sources.py
 scripts/count_token_references.py
 scripts/debug_lexer.py
 scripts/detect_missing_analyse_text.py
+scripts/get_css_properties.py
 scripts/get_vimkw.py
 scripts/pylintrc
 scripts/release-checklist
@@ -365,6 +381,7 @@ tests/test_coffeescript.py
 tests/test_crystal.py
 tests/test_data.py
 tests/test_devicetree_lexer.py
+tests/test_groff_formatter.py
 tests/test_guess.py
 tests/test_html_formatter.py
 tests/test_html_formatter_linenos_elements.py
@@ -488,6 +505,8 @@ tests/examplefiles/bc/example.bc
 tests/examplefiles/bc/example.bc.output
 tests/examplefiles/bdd/example.feature
 tests/examplefiles/bdd/example.feature.output
+tests/examplefiles/berry/berry.be
+tests/examplefiles/berry/berry.be.output
 tests/examplefiles/bib/test.bib
 tests/examplefiles/bib/test.bib.output
 tests/examplefiles/blitzbasic/test.bb
@@ -558,6 +577,8 @@ tests/examplefiles/clojure/escape_semicolon.clj
 tests/examplefiles/clojure/escape_semicolon.clj.output
 tests/examplefiles/clojure/genclass.clj
 tests/examplefiles/clojure/genclass.clj.output
+tests/examplefiles/clojure/loggers.cljc
+tests/examplefiles/clojure/loggers.cljc.output
 tests/examplefiles/clojurescript/core.cljs
 tests/examplefiles/clojurescript/core.cljs.output
 tests/examplefiles/cmake/main.cmake
@@ -578,6 +599,16 @@ tests/examplefiles/control/control
 tests/examplefiles/control/control.output
 tests/examplefiles/coq/coq_RelationClasses
 tests/examplefiles/coq/coq_RelationClasses.output
+tests/examplefiles/cplint/bag_game_mpe.pl
+tests/examplefiles/cplint/bag_game_mpe.pl.output
+tests/examplefiles/cplint/coin.pl
+tests/examplefiles/cplint/coin.pl.output
+tests/examplefiles/cplint/dt_umbrella.pl
+tests/examplefiles/cplint/dt_umbrella.pl.output
+tests/examplefiles/cplint/gaussian_mixture.pl
+tests/examplefiles/cplint/gaussian_mixture.pl.output
+tests/examplefiles/cplint/indian_gpadc.pl
+tests/examplefiles/cplint/indian_gpadc.pl.output
 tests/examplefiles/cpp/example.cpp
 tests/examplefiles/cpp/example.cpp.output
 tests/examplefiles/cpp/example2.cpp
@@ -918,6 +949,8 @@ tests/examplefiles/lsl/hello.lsl
 tests/examplefiles/lsl/hello.lsl.output
 tests/examplefiles/lua/example.lua
 tests/examplefiles/lua/example.lua.output
+tests/examplefiles/macaulay2/test.m2
+tests/examplefiles/macaulay2/test.m2.output
 tests/examplefiles/make/Makefile
 tests/examplefiles/make/Makefile.output
 tests/examplefiles/make/automake.mk
@@ -944,6 +977,8 @@ tests/examplefiles/matlabsession/matlabsession_sample.txt
 tests/examplefiles/matlabsession/matlabsession_sample.txt.output
 tests/examplefiles/maxima/foo.mac
 tests/examplefiles/maxima/foo.mac.output
+tests/examplefiles/mcfunction/main.mcfunction
+tests/examplefiles/mcfunction/main.mcfunction.output
 tests/examplefiles/md/example.md
 tests/examplefiles/md/example.md.output
 tests/examplefiles/meson/meson.build
@@ -1158,8 +1193,12 @@ tests/examplefiles/python/switch_case.txt
 tests/examplefiles/python/switch_case.txt.output
 tests/examplefiles/python/unicodedoc.py
 tests/examplefiles/python/unicodedoc.py.output
+tests/examplefiles/q/example.q
+tests/examplefiles/q/example.q.output
 tests/examplefiles/qbasic/qbasic_example
 tests/examplefiles/qbasic/qbasic_example.output
+tests/examplefiles/qlik/example.qvs
+tests/examplefiles/qlik/example.qvs.output
 tests/examplefiles/qml/minehunt.qml
 tests/examplefiles/qml/minehunt.qml.output
 tests/examplefiles/qvto/sample.qvto
@@ -1342,6 +1381,8 @@ tests/examplefiles/sml/intsyn.fun
 tests/examplefiles/sml/intsyn.fun.output
 tests/examplefiles/sml/intsyn.sig
 tests/examplefiles/sml/intsyn.sig.output
+tests/examplefiles/snbt/main.snbt
+tests/examplefiles/snbt/main.snbt.output
 tests/examplefiles/snobol/example.snobol
 tests/examplefiles/snobol/example.snobol.output
 tests/examplefiles/snowball/example.sbl
@@ -1388,6 +1429,8 @@ tests/examplefiles/systemverilog/flipflop.sv
 tests/examplefiles/systemverilog/flipflop.sv.output
 tests/examplefiles/tads3/tads3_example.t
 tests/examplefiles/tads3/tads3_example.t.output
+tests/examplefiles/tal/piano.tal
+tests/examplefiles/tal/piano.tal.output
 tests/examplefiles/tap/example.tap
 tests/examplefiles/tap/example.tap.output
 tests/examplefiles/tasm/example.tasm
@@ -1434,6 +1477,14 @@ tests/examplefiles/typoscript/typoscript_example
 tests/examplefiles/typoscript/typoscript_example.output
 tests/examplefiles/ucode/example.u1
 tests/examplefiles/ucode/example.u1.output
+tests/examplefiles/ul4/example_operators.ul4
+tests/examplefiles/ul4/example_operators.ul4.output
+tests/examplefiles/ul4/example_tags.ul4
+tests/examplefiles/ul4/example_tags.ul4.output
+tests/examplefiles/ul4/example_template.ul4
+tests/examplefiles/ul4/example_template.ul4.output
+tests/examplefiles/ul4/example_types.ul4
+tests/examplefiles/ul4/example_types.ul4.output
 tests/examplefiles/unicon/example.icn
 tests/examplefiles/unicon/example.icn.output
 tests/examplefiles/urbiscript/example.u
@@ -1716,6 +1767,7 @@ tests/snippets/csound/test_printks_and_prints_escape_sequences.txt
 tests/snippets/csound/test_quoted_strings.txt
 tests/snippets/csound/test_user_defined_opcodes.txt
 tests/snippets/doscon/test_gt_only.txt
+tests/snippets/elpi/test_catastrophic_backtracking.txt
 tests/snippets/elpi/test_chr.txt
 tests/snippets/elpi/test_clause.txt
 tests/snippets/elpi/test_namespace.txt
@@ -1735,6 +1787,7 @@ tests/snippets/gdscript/test_signal.txt
 tests/snippets/gdscript/test_simple_function.txt
 tests/snippets/gdscript/test_variable_declaration_and_assigment.txt
 tests/snippets/haskell/test_promoted_names.txt
+tests/snippets/html/multiline-comment-catastrophic-backtracking.txt
 tests/snippets/http/test_application_calendar_xml.txt
 tests/snippets/http/test_application_xml.txt
 tests/snippets/http/test_http_status_line.txt
@@ -1751,6 +1804,7 @@ tests/snippets/java/test_default.txt
 tests/snippets/java/test_enhanced_for.txt
 tests/snippets/java/test_numeric_literals.txt
 tests/snippets/java/test_record.txt
+tests/snippets/js/super.txt
 tests/snippets/jslt/test_sample.txt
 tests/snippets/json/test_basic.txt
 tests/snippets/json/test_basic_bare.txt
@@ -1784,6 +1838,13 @@ tests/snippets/matlab/test_multiple_spaces_variable_assignment.txt
 tests/snippets/matlab/test_one_space_assignment.txt
 tests/snippets/matlab/test_operator_multiple_space.txt
 tests/snippets/matlab/test_single_line.txt
+tests/snippets/mcfunction/commenting.txt
+tests/snippets/mcfunction/coordinates.txt
+tests/snippets/mcfunction/data.txt
+tests/snippets/mcfunction/difficult_1.txt
+tests/snippets/mcfunction/multiline.txt
+tests/snippets/mcfunction/selectors.txt
+tests/snippets/mcfunction/simple.txt
 tests/snippets/md/test_bold_fenced_by_asterisk.txt
 tests/snippets/md/test_bold_fenced_by_underscore.txt
 tests/snippets/md/test_bulleted_list_1.txt
@@ -1972,6 +2033,9 @@ tests/snippets/scala/test_script_header.txt
 tests/snippets/scala/test_symbol_followed_by_op.txt
 tests/snippets/scala/test_symbol_name_ending_with_star.txt
 tests/snippets/scala/test_underscore_name.txt
+tests/snippets/scheme/keywords.txt
+tests/snippets/scheme/numbers.txt
+tests/snippets/scheme/strings.txt
 tests/snippets/shell/test_array_nums.txt
 tests/snippets/shell/test_curly_no_escape_and_quotes.txt
 tests/snippets/shell/test_curly_with_escape.txt
@@ -1980,6 +2044,11 @@ tests/snippets/shell/test_parsed_single.txt
 tests/snippets/shell/test_short_variable_names.txt
 tests/snippets/shexc/test_prefixed_name_starting_with_number.txt
 tests/snippets/smarty/test_nested_curly.txt
+tests/snippets/snbt/json.txt
+tests/snippets/snbt/literals.txt
+tests/snippets/snbt/multiline.txt
+tests/snippets/snbt/nesting.txt
+tests/snippets/snbt/quoted_keys.txt
 tests/snippets/systemverilog/test_basic.txt
 tests/snippets/systemverilog/test_classes.txt
 tests/snippets/systemverilog/test_numbers.txt
@@ -2000,6 +2069,9 @@ tests/snippets/terraform/test_variable_declaration.txt
 tests/snippets/terraform/test_variable_read.txt
 tests/snippets/turtle/test_prefixed_name_starting_with_number.txt
 tests/snippets/typescript/test_function_definition.txt
+tests/snippets/unixconfig/etc_group.txt
+tests/snippets/unixconfig/etc_passwd.txt
+tests/snippets/unixconfig/etc_shadow.txt
 tests/snippets/usd/test_attribute.txt
 tests/snippets/usd/test_composition_arcs.txt
 tests/snippets/usd/test_metadata.txt
@@ -2027,6 +2099,7 @@ tests/snippets/wat/test_string_byte_escape.txt
 tests/snippets/wat/test_string_with_escape.txt
 tests/snippets/wat/test_variable_name_pattern.txt
 tests/snippets/whiley/test_whiley_operator.txt
+tests/snippets/xml/multiline-comment-catastrophic-backtracking.txt
 tests/snippets/yaml/test_yaml.txt
 tests/snippets/yang/test_float_value.txt
 tests/snippets/yang/test_integer_value.txt
index 756d801bdf597be8c60fcd698b3fce94c4fe3481..15498e35f53320bd5e1de176928daabf26be0109 100644 (file)
@@ -1,3 +1,2 @@
 [console_scripts]
 pygmentize = pygments.cmdline:main
-
index 77b2d565c05f810aeed69787e753f00af7b86af2..9974cbbe1bdcb4c59e33d71adeaa60bf903c6f74 100644 (file)
@@ -30,6 +30,10 @@ Continuous testing runs on GitHub workflows:
 .. image:: https://github.com/pygments/pygments/workflows/Pygments/badge.svg
    :target: https://github.com/pygments/pygments/actions?query=workflow%3APygments
 
+Contribution guidelines are found in Contributing.md_.
+
+.. _Contributing.md: https://github.com/pygments/pygments/blob/master/Contributing.md
+
 The authors
 -----------
 
diff --git a/doc/_templates/languages.html b/doc/_templates/languages.html
new file mode 100644 (file)
index 0000000..e046a90
--- /dev/null
@@ -0,0 +1,31 @@
+{% extends "layout.html" %}
+
+{% block htmltitle %}<title>Languages {{ titlesuffix }}</title>{% endblock %}
+
+{% block body %}
+
+<h1>Languages</h1>
+
+<ul>
+{% for language in languages %}
+<li>
+    {% if language.url %}
+    <a href="{{language.url}}">{{language.name}}</a>
+    {% else %}
+    {{language.name}}
+    {% endif %}
+</li>
+{% endfor %}
+</ul>
+{{ body }}
+
+<h1>... that's all?</h1>
+
+Well, why not write your own? Contributing to Pygments is easy and fun. Take a
+look at the <a href="{{ pathto('docs/lexerdevelopment') }}">docs on lexer development</a>. Pull
+requests are welcome on <a href="https://github.com/pygments/pygments">GitHub</a>.
+
+Note: the languages listed here are supported in the development version. The
+latest release may lack a few of them.
+
+{% endblock %}
index a1ec280c9a8fa3d3f6cde51bf54a6fadbd0e6c1b..34e86ef4e62c84eb98b515a907d09115d63a006c 100644 (file)
@@ -85,7 +85,7 @@
 {% block footer %}
     </div> {# closes "flexwrapper" div #}
     <div class="footer" role="contentinfo">
-      &copy; Copyright 2006-2021, Georg Brandl and Pygments contributors.
+      &copy; Copyright 2006-2022, Georg Brandl and Pygments contributors.
       Created using <a href="https://sphinx-doc.org/">Sphinx</a> {{
       sphinx_version }}. <br/>
       Pygments logo created by <a href="https://joelunger.com">Joel Unger</a>.
index addeb62a81583c9083d88cff37218d8730457114..4355074cbdff3d50693fe318de3f570fa2b55eb9 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Sphinx stylesheet -- pygments14 theme.  Heavily copied from sphinx13.
  *
- * :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+ * :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
index 70f605592907da409e197304b34589f4737090f4..7af43e37b56b383c84c31cc48f738cee37672a0b 100644 (file)
@@ -38,7 +38,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = 'Pygments'
-copyright = '2006-2021, Georg Brandl and Pygments contributors'
+copyright = '2006-2022, Georg Brandl and Pygments contributors'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
@@ -132,7 +132,10 @@ html_sidebars = {'index': ['indexsidebar.html', 'searchbox.html']}
 
 # Additional templates that should be rendered to pages, maps page names to
 # template names.
-html_additional_pages = {'styles': 'styles.html'}
+html_additional_pages = {
+    'styles': 'styles.html',
+    'languages': 'languages.html'
+    }
 
 if os.environ.get('WEBSITE_BUILD'):
     html_additional_pages['demo'] = 'demo.html'
@@ -232,6 +235,14 @@ def pg_context(app, pagename, templatename, ctx, event_arg):
     if pagename == 'demo':
         ctx['lexers'] = sorted(pygments.lexers.get_all_lexers(), key=lambda x: x[0].lower())
 
+    if pagename == 'languages':
+        lexer_name_url = []
+
+        for entry in sorted(pygments.lexers.LEXERS.values(), key=lambda x: x[1].lower()):
+            lexer_cls = pygments.lexers.find_lexer_class(entry[1])
+            lexer_name_url.append({'name': entry[1], 'url': lexer_cls.url})
+        ctx['languages'] = lexer_name_url
+
     if pagename in ('styles', 'demo'):
         with open('examples/example.py') as f:
             html = f.read()
index 5bbfe19e68c536816b79d2379394a71680619ea6..4d330bf8de491d8f41735cef4cb7417bc546e337 100644 (file)
@@ -335,7 +335,7 @@ converted to the expected type if possible.
     Intuitively, this is `options.get(optname, default)`, but restricted to
     Boolean value. The Booleans can be represented as string, in order to accept
     Boolean value from the command line arguments. If the key `optname` is
-    present in the dictionnary `options` and is not associated with a Boolean,
+    present in the dictionary `options` and is not associated with a Boolean,
     raise an `OptionError`. If it is absent, `default` is returned instead.
 
     The valid string values for ``True`` are ``1``, ``yes``, ``true`` and
index ca4942beced2276914b825b58263592d1e4d56b0..5cdcb4c6453091494009229a0a03648f13fc7626 100644 (file)
@@ -11,7 +11,7 @@ done by filters. The most common example of filters transform each token by
 applying a simple rules such as highlighting the token if it is a TODO or
 another special word, or converting keywords to uppercase to enforce a style
 guide. More complex filters can transform the stream of tokens, such as removing
-the line identation or merging tokens together. It should be noted that pygments
+the line indentation or merging tokens together. It should be noted that pygments
 filters are entirely unrelated to Python's `filter
 <https://docs.python.org/3/library/functions.html#filter>`_.
 
index c3baa4725211d625e1f79e21a8b71eab25a5c001..6910913e21843a347661b3824bc7538f306a5b48 100644 (file)
@@ -28,6 +28,7 @@ Pygments documentation
    unicode
    tokens
    api
+   terminal-sessions
 
 **Hacking for Pygments**
 
index 720a804b04cce91062d815c42fb6f18289abc190..b883d3e68bd3b954206895d36cbd678673fd8c6e 100644 (file)
@@ -291,7 +291,7 @@ and single-line with ``//`` until end of line)::
                 (r'/', Text)
             ],
             'comment': [
-                (r'[^*/]', Comment.Multiline),
+                (r'[^*/]+', Comment.Multiline),
                 (r'/\*', Comment.Multiline, '#push'),
                 (r'\*/', Comment.Multiline, '#pop'),
                 (r'[*/]', Comment.Multiline)
@@ -346,7 +346,7 @@ There are a few more things you can do with states:
               ...
           ],
           'directive': [
-              (r'[^>]*', Comment.Directive),
+              (r'[^>]+', Comment.Directive),
               (r'>', Comment, '#pop'),
           ],
           'comment': [
@@ -376,20 +376,20 @@ There are a few more things you can do with states:
       class ExampleLexer(RegexLexer):
           tokens = {
               'comments': [
-                  (r'/\*.*?\*/', Comment),
+                  (r'(?s)/\*.*?\*/', Comment),
                   (r'//.*?\n', Comment),
               ],
               'root': [
                   include('comments'),
-                  (r'(function )(\w+)( {)',
-                   bygroups(Keyword, Name, Keyword), 'function'),
-                  (r'.', Text),
+                  (r'(function)( )(\w+)( )({)',
+                   bygroups(Keyword, Whitespace, Name, Whitespace, Punctuation), 'function'),
+                  (r'.*\n', Text),
               ],
               'function': [
                   (r'[^}/]+', Text),
                   include('comments'),
                   (r'/', Text),
-                  (r'\}', Keyword, '#pop'),
+                  (r'\}', Punctuation, '#pop'),
               ]
           }
 
@@ -455,7 +455,7 @@ defined in the parent and child class are merged.  For example::
                   ('[a-z]+', Name),
                   (r'/\*', Comment, 'comment'),
                   ('"', String, 'string'),
-                  ('\s+', Text),
+                  (r'\s+', Text),
               ],
               'string': [
                   ('[^"]+', String),
diff --git a/doc/docs/terminal-sessions.rst b/doc/docs/terminal-sessions.rst
new file mode 100644 (file)
index 0000000..45af0eb
--- /dev/null
@@ -0,0 +1,46 @@
+Interactive terminal/shell sessions
+-----------------------------------
+
+To highlight an interactive terminal or shell session, prefix your code snippet
+with a specially formatted prompt.
+
+Supported shells with examples are shown below. In each example, prompt parts in
+brackets ``[any]`` represent optional parts of the prompt, and prompt parts
+without brackets or in parenthesis ``(any)`` represent required parts of the
+prompt.
+
+* **Bash Session** (console, shell-session):
+
+  .. code-block:: console
+
+     [any@any]$ ls -lh
+     [any@any]# ls -lh
+     [any@any]% ls -lh
+     $ ls -lh
+     # ls -lh
+     % ls -lh
+     > ls -lh
+
+* **MSDOS Session** (doscon):
+
+  .. code-block:: doscon
+
+     [any]> dir
+     > dir
+     More? dir
+
+* **Tcsh Session** (tcshcon):
+
+  .. code-block:: tcshcon
+
+     (any)> ls -lh
+     ? ls -lh
+
+* **PowerShell Session** (ps1con):
+
+  .. code-block:: ps1con
+
+     PS[any]> Get-ChildItem
+     PS> Get-ChildItem
+     >> Get-ChildItem
+
index 2f1ebe58010c693d97beaaeccee5cc15fecea1f4..4e078dc39f9b9797999d273068079dc14a64f4d5 100644 (file)
@@ -35,8 +35,8 @@ and in this case, source code!
 What are the system requirements?
 ---------------------------------
 
-Pygments only needs a standard Python install, version 2.7 or higher or version
-3.5 or higher for Python 3. No additional libraries are needed.
+Pygments only needs a standard Python install, version 3.6 or higher. No
+additional libraries are needed.
 
 How can I use Pygments?
 -----------------------
diff --git a/doc/languages.rst b/doc/languages.rst
deleted file mode 100644 (file)
index 7a8be0b..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-:orphan:
-
-Supported languages
-===================
-
-Pygments supports an ever-growing range of languages. Watch this space...
-
-Programming languages
----------------------
-
-* `ActionScript <https://www.adobe.com/devnet/actionscript/articles/actionscript3_overview.html>`_
-* `Ada <https://www.adaic.org/>`_
-* `Agda <https://wiki.portal.chalmers.se/agda>`_ (incl. literate)
-* `Alloy <https://alloytools.org/>`_
-* `AMPL <https://ampl.com/>`_
-* `ANTLR <https://www.antlr.org/>`_
-* `APL <https://tryapl.org/>`_
-* `AppleScript <https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html>`_
-* `Assembly <https://en.wikipedia.org/wiki/Assembly_language>`_ (various)
-* `Asymptote <https://asymptote.sourceforge.io/>`_
-* `Augeas <https://augeas.net/>`_
-* `AutoIt <https://www.autoitscript.com/site/autoit/>`_
-* `Awk <https://en.wikipedia.org/wiki/AWK>`_
-* `BARE <https://baremessages.org/>`_
-* `BBC Basic <http://www.bbcbasic.co.uk/bbcbasic.html>`_
-* `Befunge <https://github.com/catseye/Befunge-93>`_
-* `BlitzBasic <https://en.wikipedia.org/wiki/Blitz_BASIC>`_
-* `Boa <https://boa.cs.iastate.edu/docs/>`_
-* `Boo <https://boo-language.github.io/>`_
-* `Boogie <https://boogie.codeplex.com/>`_
-* `BrainFuck <https://en.wikipedia.org/wiki/Brainfuck>`_
-* `C <http://www.open-std.org/jtc1/sc22/wg14/>`_, `C++ <https://isocpp.org/>`_ (incl. dialects like Arduino)
-* `C# <https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/>`_
-* `Chapel <https://chapel-lang.org/>`_
-* `Charm++ CI <http://charmplusplus.org/>`_
-* `Cirru <http://cirru.org/>`_
-* `Clay <https://github.com/jckarter/clay>`_
-* `Clean <https://clean.cs.ru.nl/Clean>`_
-* `Clojure <https://clojure.org/>`_
-* `CoffeeScript <https://coffeescript.org/>`_
-* `ColdFusion <https://www.adobe.com/products/coldfusion-family.html>`_
-* `Common Lisp <https://common-lisp.net/>`_
-* `Component Pascal <https://en.wikipedia.org/wiki/Component_Pascal>`_
-* `Coq <https://coq.inria.fr/>`_
-* `Croc <http://www.croc-lang.org/>`_ (MiniD)
-* `Cryptol <https://cryptol.net/>`_ (incl. Literate Cryptol)
-* `Crystal <https://crystal-lang.org>`_
-* `Cypher <https://neo4j.com/developer/cypher-query-language/>`_
-* `Cython <https://cython.org>`_
-* `D <https://dlang.org>`_
-* `Dart <https://dart.dev/>`_
-* DCPU-16
-* `Delphi <https://www.embarcadero.com/products/delphi>`_
-* `DOT / Graphviz <https://graphviz.org>`_
-* `Devicetree <https://www.devicetree.org/>`_
-* `Dylan <https://opendylan.org/>`_ (incl. console)
-* `Eiffel <https://www.eiffel.org/>`_
-* `Elm <https://elm-lang.org/>`_
-* `Elpi <http://github.com/LPCIC/elpi>`_
-* `Emacs Lisp <https://www.gnu.org/software/emacs/manual/html_node/elisp/>`_
-* Email
-* `Erlang <https://www.erlang.org/>`_ (incl. shell sessions)
-* `Ezhil <http://ezhillang.org>`_
-* `Execline <https://skarnet.org/software/execline>`_
-* `Factor <https://factorcode.org/>`_
-* `Fancy <http://www.fancy-lang.org/>`_
-* `Fantom <https://fantom-lang.org/>`_
-* `Fennel <https://fennel-lang.org/>`_
-* `FloScript <https://ioflo.com/>`_
-* `Fortran <https://fortran-lang.org/>`_
-* `FreeFEM++ <https://freefem.org/>`_
-* `F# <https://fsharp.org/>`_
-* `F* <https://www.fstar-lang.org/>`_
-* `GAP <https://www.gap-system.org/>`_
-* `GDScript <https://docs.godotengine.org/>`_
-* `Gherkin <https://cucumber.io/docs/gherkin/>`_ (Cucumber)
-* `GLSL <https://www.khronos.org/registry/OpenGL/index_gl.php>`_ shaders
-* `GnuCOBOL <https://www.gnu.org/software/gnucobol/>`_ (OpenCOBOL)
-* `Golo <https://golo-lang.org/>`_
-* `Gosu <https://gosu-lang.github.io/>`_
-* `Groovy <https://groovy-lang.org/>`_
-* `Haskell <https://www.haskell.org/>`_ (incl. Literate Haskell)
-* `Haxe <https://haxe.org>`_
-* `HLSL <https://docs.microsoft.com/en-gb/windows/win32/direct3dhlsl/dx-graphics-hlsl>`_ shaders
-* `HSpec <https://hackage.haskell.org/package/hspec>`_
-* `Hy <https://hylang.org>`_
-* `IDL <https://www.harrisgeospatial.com/Software-Technology/IDL>`_
-* `Idris <https://www.idris-lang.org/>`_ (incl. Literate Idris)
-* `Igor Pro <https://www.wavemetrics.com/products/igorpro/programming>`_
-* `Io <http://iolanguage.com/>`_
-* `Jags <http://mcmc-jags.sourceforge.net/>`_
-* `Java <https://www.oracle.com/java/>`_
-* `JavaScript <https://en.wikipedia.org/wiki/JavaScript>`_
-* `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>`_
-* `LiveScript <https://livescript.net/>`_
-* `LLVM MIR <https://llvm.org/docs/MIRLangRef.html>`_
-* `Logtalk <https://logtalk.org/>`_
-* `Logos <https://en.wikipedia.org/wiki/Logo_(programming_language)>`_
-* `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/>`_
-* `Monkey <https://monkeylang.org/>`_
-* `Monte <https://monte.readthedocs.io/>`_
-* `MoonScript <https://moonscript.org/>`_
-* `Mosel <https://www.maths.ed.ac.uk/hall/Xpress/FICO_Docs/mosel/mosel_lang/dhtml/moselreflang.html>`_
-* `MuPad <https://www.mathworks.com/discovery/mupad.html>`_
-* `NASM <https://www.nasm.us/>`_
-* `Nemerle <http://nemerle.org/>`_
-* `NesC <http://nescc.sourceforge.net/>`_
-* `NewLISP <http://www.newlisp.org/>`_
-* `Nim <https://nim-lang.org/>`_
-* `Nit <https://nitlanguage.org/>`_
-* `Notmuch <https://notmuchmail.org/>`_
-* `NuSMV <http://nusmv.fbk.eu/NuSMV/papers/sttt_j/html/node7.html>`_
-* `Objective-C <https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html>`_
-* `Objective-J <https://www.cappuccino.dev/learn/objective-j.html>`_
-* `Octave <https://www.gnu.org/software/octave/>`_
-* `OCaml <https://ocaml.org/>`_
-* `Opa <http://opalang.org/>`_
-* `ParaSail <https://www.parasail-lang.org/>`_
-* `Pawn <https://www.compuphase.com/pawn/pawn.htm>`_
-* `PHP <https://www.php.net/>`_
-* `Perl 5 <https://perl.org>`_
-* `Pike <https://pike.lysator.liu.se/>`_
-* `Pointless <https://ptls.dev/>`_
-* `Pony <https://www.ponylang.io/>`_
-* `PovRay <http://www.povray.org/>`_
-* `PostScript <https://en.wikipedia.org/wiki/PostScript>`_
-* `PowerShell <https://microsoft.com/powershell>`_
-* `Praat <http://www.praat.org>`_
-* `Prolog <https://en.wikipedia.org/wiki/Prolog>`_
-* `Python <https://python.org/>`_ 2.x and 3.x (incl. console sessions and
-  tracebacks)
-* `QBasic <https://en.wikipedia.org/wiki/QBasic>`_
-* `Racket <https://racket-lang.org/>`_
-* `Raku <https://www.raku.org/>`_ a.k.a. Perl 6
-* `ReasonML <https://reasonml.github.io/>`_
-* `REBOL <http://www.rebol.com>`_
-* `Red <https://www.red-lang.org>`_
-* `Redcode <https://esolangs.org/wiki/Redcode>`_
-* `Rexx <https://www.ibm.com/rexx/>`_
-* `Ride <https://docs.wavesprotocol.org/en/ride/>`_
-* `Ruby <https://www.ruby-lang.org>`_ (incl. irb sessions)
-* `Rust <https://rust-lang.org>`_
-* S, S-Plus, `R <https://www.r-project.org/>`_
-* `Scala <https://scala-lang.org/>`_
-* `Savi <https://github.com/savi-lang/savi/>`_
-* `Scdoc <https://git.sr.ht/~sircmpwn/scdoc>`_
-* `Scheme <http://www.scheme-reports.org/>`_
-* `Scilab <https://www.scilab.org/>`_
-* `SGF <https://www.red-bean.com/sgf/>`_
-* Shell scripts (`Bash <https://www.gnu.org/software/bash/>`_, `Tcsh <https://www.tcsh.org/>`_, `Fish <https://fishshell.com/>`_)
-* `Shen <http://shenlanguage.org/>`_
-* `Silver <https://elementscompiler.com/elements/silver/>`_
-* `Slash <https://github.com/arturadib/Slash-A>`_
-* `Slurm <https://slurm.schedmd.com/overview.html>`_
-* `Smalltalk <https://en.wikipedia.org/wiki/Smalltalk>`_
-* `SNOBOL <http://www.snobol4.org/>`_
-* `Snowball <https://snowballstem.org/>`_
-* `Solidity <https://solidity.readthedocs.io/>`_
-* `SourcePawn <https://github.com/alliedmodders/sourcepawn>`_
-* `Spice <https://www.spicelang.com>`_
-* `Stan <https://mc-stan.org/>`_
-* `Standard ML <https://smlfamily.github.io/>`_
-* `Stata <https://www.stata.com/features/programming-language/>`_
-* `Swift <https://swift.org/>`_
-* `Swig <http://swig.org/>`_
-* `SuperCollider <https://supercollider.github.io/>`_
-* `Tcl <https://www.tcl.tk/about/language.html>`_
-* `Tera Term language <https://ttssh2.osdn.jp/>`_
-* `TypeScript <https://www.typescriptlang.org/>`_
-* `TypoScript <https://typo3.org/>`_
-* `USD <https://graphics.pixar.com/usd/docs/index.html>`_
-* `Unicon <https://unicon.sourceforge.io/>`_
-* `Urbiscript <https://github.com/urbiforge/urbi>`_
-* `Vala <https://wiki.gnome.org/Projects/Vala>`_
-* `VBScript <https://docs.microsoft.com/en-us/previous-versions/t0aew7h6(v=vs.85)>`_
-* Verilog, `SystemVerilog <https://en.wikipedia.org/wiki/SystemVerilog>`_
-* `VHDL <http://www.eda-twiki.org/cgi-bin/view.cgi/P1076/WebHome>`_
-* `Visual Basic.NET <https://docs.microsoft.com/dotnet/visual-basic/>`_
-* `Visual FoxPro <https://msdn.microsoft.com/vfoxpro>`_
-* `Whiley <http://whiley.org/>`_
-* `Xtend <https://www.eclipse.org/xtend/>`_
-* `XQuery <http://www.w3.org/XML/Query/>`_
-* `Zeek <https://www.zeek.org>`_
-* `Zephir <https://zephir-lang.com/en>`_
-* `Zig <https://ziglang.org/>`_
-
-Template languages
-------------------
-
-* `Angular templates <https://angular.io/guide/template-syntax>`_
-* `Cheetah templates <https://cheetahtemplate.org/>`_
-* `ColdFusion <https://www.adobe.com/products/coldfusion-family.html>`_
-* `Django <https://www.djangoproject.com>`_ / `Jinja
-  <https://jinja.pocoo.org/jinja>`_ templates
-* `ERB <https://en.wikipedia.org/wiki/ERuby>`_ (Ruby templating)
-* Evoque
-* `Genshi <https://genshi.edgewall.org>`_ (the Trac template language)
-* `Handlebars <https://handlebarsjs.com/>`_
-* `JSP <https://www.oracle.com/java/technologies/jspt.html>`_ (Java Server Pages)
-* `Liquid <https://shopify.github.io/liquid/>`_
-* `Myghty <https://pypi.org/project/Myghty/>`_ (the HTML::Mason based framework)
-* `Mako <https://www.makotemplates.org>`_ (the Myghty successor)
-* `Slim <http://slim-lang.com/>`_
-* `Smarty <https://www.smarty.net>`_ templates (PHP templating)
-* `Tea <https://github.com/teatrove/teatrove/wiki/Tea-Template-Language>`_
-* `Twig <https://twig.symfony.com/>`_
-
-Other markup
-------------
-
-* Apache config files
-* Apache Pig
-* BBCode
-* Bdd
-* CapDL
-* `Cap'n Proto <https://capnproto.org>`_
-* `CDDL <https://datatracker.ietf.org/doc/rfc8610/>`_
-* CMake
-* `Csound <https://csound.com>`_ scores
-* CSS
-* Debian control files
-* Diff files
-* Dockerfiles
-* DTD
-* EBNF
-* E-mail headers
-* Extempore
-* Flatline
-* Gettext catalogs
-* Gnuplot script
-* Groff markup
-* `GSQL <https://docs.tigergraph.com/dev/gsql-ref>`_
-* Hexdumps
-* HTML
-* HTTP sessions
-* IDL
-* Inform
-* INI-style config files
-* IRC logs (irssi style)
-* Isabelle
-* JSGF notation
-* JSON, JSON-LD
-* Lean theorem prover
-* Lighttpd config files
-* `LilyPond <https://lilypond.org/>`_
-* Linux kernel log (dmesg)
-* LLVM assembly
-* LSL scripts
-* Makefiles
-* MoinMoin/Trac Wiki markup
-* MQL
-* MySQL
-* NCAR command language
-* `NestedText <https://nestedtext.org/>`_
-* Nginx config files
-* `Nix language <https://nixos.org/nix/>`_
-* NSIS scripts
-* Notmuch
-* `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
-* Ragel
-* Redcode
-* ReST
-* `Rita <https://github.com/zaibacu/rita-dsl>`_
-* `Roboconf <http://roboconf.net/en/roboconf.html>`_
-* Robot Framework
-* RPM spec files
-* Rql
-* RSL
-* Scdoc
-* Sieve
-* Singularity
-* `Smithy <https://awslabs.github.io/smithy/>`_
-* `Sophia <https://buildwithsophia.com/>`_
-* SPARQL
-* SQL, also MySQL, SQLite
-* Squid configuration
-* TADS 3
-* Terraform
-* TeX
-* `Thrift <https://thrift.apache.org/>`_
-* `TNT <https://en.wikipedia.org/wiki/Typographical_Number_Theory>`_
-* `TOML <https://github.com/toml-lang/toml>`_
-* Treetop grammars
-* USD (Universal Scene Description)
-* Varnish configs
-* VGL
-* Vim Script
-* WDiff
-* Web IDL
-* Windows batch files
-* XML
-* XSLT
-* YAML
-* YANG
-* Windows Registry files
-
-
-Interactive terminal/shell sessions
------------------------------------
-
-To highlight an interactive terminal or shell session, prefix your code snippet
-with a specially formatted prompt.
-
-Supported shells with examples are shown below. In each example, prompt parts in
-brackets ``[any]`` represent optional parts of the prompt, and prompt parts
-without brackets or in parenthesis ``(any)`` represent required parts of the
-prompt.
-
-* **Bash Session** (console, shell-session):
-
-  .. code-block:: console
-
-     [any@any]$ ls -lh
-     [any@any]# ls -lh
-     [any@any]% ls -lh
-     $ ls -lh
-     # ls -lh
-     % ls -lh
-     > ls -lh
-
-* **MSDOS Session** (doscon):
-
-  .. code-block:: doscon
-
-     [any]> dir
-     > dir
-     More? dir
-
-* **Tcsh Session** (tcshcon):
-
-  .. code-block:: tcshcon
-
-     (any)> ls -lh
-     ? ls -lh
-
-* **PowerShell Session** (ps1con):
-
-  .. code-block:: ps1con
-
-     PS[any]> Get-ChildItem
-     PS> Get-ChildItem
-     >> Get-ChildItem
-
-
-... that's all?
----------------
-
-Well, why not write your own? Contributing to Pygments is easy and fun.  Take a
-look at the :doc:`docs on lexer development <docs/lexerdevelopment>`.  Pull
-requests are welcome on `GitHub <https://github.com/pygments/pygments>`_.
-
-Note: the languages listed here are supported in the development version. The
-latest release may lack a few of them.
index 369287dca2ab09843b605c914259d9bc76a77c89..3a4aed7f150eec04902c8986b5b71fb649b0701c 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 # Best effort auto-pygmentization with transparent decompression
-# by Reuben Thomas 2008-2021
+# by Reuben Thomas 2008-2022
 # This program is in the public domain.
 
 # Strategy: first see if pygmentize can find a lexer; if not, ask file; if that finds nothing, fail
index 6b3a88e68a66c5e59c193d7e6d4b9fafe9396365..f01d86015e5c3f725e6138a384d92eae93dc8f43 100644 (file)
@@ -14,7 +14,7 @@
 
     LilyPond builtins.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 \"\"\"
 
index eaf913e9bc2be1b6ff1ccc68e8f3b9b65bf75e4e..d72012f95d5dbe08d082c4cec73755537b2a2211 100644 (file)
@@ -21,7 +21,7 @@
 
     .. _Markdown: https://pypi.python.org/pypi/Markdown
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9fcba80b1f78c554016c1a47ab6310e7e50452ca..562b76f30fd8ffe00f3efbf26a161414f6a456d1 100644 (file)
@@ -30,7 +30,7 @@
     If you do not want to do that and are willing to accept larger HTML
     output, you can set the INLINESTYLES option below to True.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index a82ecfafbcf58b7efaae58cbacb2c9f40ba7558e..587218550564524b6799de3d99e0b3d186737059 100644 (file)
@@ -30,7 +30,7 @@
     .. _directive documentation:
        https://docutils.sourceforge.io/docs/howto/rst-directives.html
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -58,7 +58,7 @@ from pygments import highlight
 from pygments.lexers import get_lexer_by_name, TextLexer
 
 class Pygments(Directive):
-    """ Source code syntax hightlighting.
+    """ Source code syntax highlighting.
     """
     required_arguments = 1
     optional_arguments = 0
diff --git a/external/scheme-builtins-generator.scm b/external/scheme-builtins-generator.scm
new file mode 100644 (file)
index 0000000..5c260b8
--- /dev/null
@@ -0,0 +1,116 @@
+;; Autogenerate a list of Scheme keywords (i.e., macros) and built-in
+;; functions. This is written for the Guile implementation. The
+;; principle of autogenerating this has the advantage of catching many
+;; builtins that would be tedious to maintain by hand, and the
+;; disadvantage that some builtins very specific to Guile and not
+;; relevant to other implementations are caught as well. However,
+;; since Scheme builtin function names tend to be rather specific,
+;; this should not be a significant problem.
+
+(define port (open-output-file "../pygments/lexers/_scheme_builtins.py"))
+
+(display
+   "\"\"\"
+    pygments.lexers._scheme_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Scheme builtins.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+\"\"\"
+"
+   port)
+
+(format port
+"\n# Autogenerated by external/scheme-builtins-generator.scm\n\
+# using Guile ~a.\n\n"
+        (version))
+
+(use-modules (srfi srfi-1)
+             (ice-9 match))
+
+(define relevant-modules
+  ;; This is a nightmare. Scheme builtins are split in
+  ;; gazillions of standards, SRFIs and implementation
+  ;; extensions. With so many sources, it's hard to define
+  ;; what is really a Scheme builtin. This is a rather
+  ;; conservative list of Guile modules that might be used
+  ;; the most frequently (somewhat subjective, admittedly).
+  '(
+    ;; The real builtins.
+    (guile)
+    ;; Let's include the fundamental list library.
+    (srfi srfi-1)
+    ;; define-record-type
+    (srfi srfi-9)
+    ;; let-values, let*-values
+    (srfi srfi-11)
+    ;; case-lambda
+    (srfi srfi-16)
+    ;; Pattern matching
+    (ice-9 match)
+    ;; Included for compatibility with files written for R5RS
+    (rnrs r5rs)))
+
+(define (get-all-bindings module)
+  ;; Need to recurse to find all public bindings. module-map
+  ;; only considers the module's own bindings.
+  (let* ((own (module-map cons module))
+        (uses (module-uses module)))
+    (append own (append-map get-all-bindings uses))))
+
+(define all-bindings
+  (append-map
+   ;; Need to use module-public-interface to restrict to
+   ;; public bindings.  Note that module-uses already
+   ;; returns public interfaces.
+   (lambda (mod-path)
+     (let* ((mod-object (resolve-module mod-path))
+            (iface (module-public-interface mod-object)))
+       (get-all-bindings iface)))
+   relevant-modules))
+
+(define (filter-for pred)
+  (filter-map
+   (match-lambda
+    ((key . variable)
+      (and (variable-bound? variable)
+           (let ((value (variable-ref variable)))
+             (and (pred value)
+                  key)))))
+   all-bindings))
+
+(define (sort-and-uniq lst pred)
+  (let loop ((lst (sort lst pred))
+             (acc '()))
+    (match lst
+     (() (reverse! acc))
+     ((one . rest)
+      (loop (drop-while (lambda (elt)
+                          (equal? elt one))
+                        rest)
+            (cons one acc))))))
+
+(define (dump-py-list lst)
+  (string-join
+   (map
+    (lambda (name)
+      (format #f "    \"~a\"," name))
+    (sort-and-uniq
+     (map symbol->string lst)
+     string<?))
+   "\n"))
+
+(define (dump-builtins name pred extra)
+  (format port
+          "~a = {\n~a\n}\n\n"
+          name
+          (dump-py-list (append extra (filter-for pred)))))
+
+(define extra-procedures
+  ;; These are found in RnRS but not implemented by Guile.
+ '(load transcript-off transcript-on))
+
+(dump-builtins 'scheme_keywords macro? '())
+(dump-builtins 'scheme_builtins procedure? extra-procedures)
index 22c50b356adf906bd6a579749d0c120f9cac8381..52ff035dd460585672ba51d70b45d1094ceb3351 100644 (file)
     .. _Pygments master branch:
        https://github.com/pygments/pygments/archive/master.zip#egg=Pygments-dev
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 from io import StringIO, BytesIO
 
-__version__ = '2.11.2'
+__version__ = '2.12.0'
 __docformat__ = 'restructuredtext'
 
 __all__ = ['lex', 'format', 'highlight']
index c6e2517dfeceef684697cf6a274926daf6f99020..423b46e22595bc28f19d384acec68c00c2b37a22 100644 (file)
@@ -4,7 +4,7 @@
 
     Main entry point for ``python -m pygments``.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 4f688c7f8e88064cc91fc6e785cd5146c5bc5668..6a7532c29422849e8878d750a0e1ab3bda5c9995 100644 (file)
@@ -4,7 +4,7 @@
 
     Command line interface.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -185,7 +185,7 @@ def main_inner(parser, argns):
         return 0
 
     if argns.V:
-        print('Pygments version %s, (c) 2006-2021 by Georg Brandl, Matthäus '
+        print('Pygments version %s, (c) 2006-2022 by Georg Brandl, Matthäus '
               'Chajdas and contributors.' % __version__)
         return 0
 
index 8dd08abebce13dd43c7e5340e0f91d8c6cf400b4..2ada68e03b3c018e3ddbbf3356a48a1d580aa251 100644 (file)
@@ -4,7 +4,7 @@
 
     Format colored console output.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 85b4829878f54ce932303a26aec7278c962d53b3..e5c9664938215620d656605ff0a7a5e7636370d2 100644 (file)
@@ -4,7 +4,7 @@
 
     Module that implements the default filter.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 930ff64e0555f6667a0a2db7a1c3b24badf0169b..45dcda0e126518e9f88fc069232a71c5343287fb 100644 (file)
@@ -5,7 +5,7 @@
     Module containing filter lookup functions and default
     filters.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index c3fe68d3ef4d43d27b0a5b5db5fb5db9b1564f14..e1455c5d125402203557c2354b93caacdcab37ab 100644 (file)
@@ -4,7 +4,7 @@
 
     Base formatter class.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 66c9e9d4049bd75d567ddbfbe2cfc61cf5a2e9f4..887015c8b9dce516cd71c0b83a2fb3c2fbda382b 100644 (file)
@@ -4,7 +4,7 @@
 
     Pygments formatters.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 8b5e478e391b3214dca2b5387c195eca81ea7edb..15c3fe7dd705c4f4b1026bd7fae07388956df50d 100755 (executable)
@@ -2,13 +2,13 @@
     pygments.formatters._mapping
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    Formatter mapping definitions. This file is generated by itself. Everytime
+    Formatter mapping definitions. This file is generated by itself. Every time
     you change something on a builtin formatter definition, run this script from
     the formatters folder to update it.
 
     Do not alter the FORMATTERS dictionary by hand.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -67,7 +67,7 @@ if __name__ == '__main__':  # pragma: no cover
         content = fp.read()
         # replace crnl to nl for Windows.
         #
-        # Note that, originally, contributers should keep nl of master
+        # Note that, originally, contributors should keep nl of master
         # repository, for example by using some kind of automatic
         # management EOL, like `EolExtension
         #  <https://www.mercurial-scm.org/wiki/EolExtension>`.
index 586a8925c6a7322d3cdd7c2e86d51eac6aed2687..8b23b354fad586d84adac15a3b20656a988a719c 100644 (file)
@@ -4,7 +4,7 @@
 
     BBcode formatter.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 5aafe6d2f20e0706e65b3699277b347e8901dff0..7d409baa36816013dd28184a25e6769c6ec26793 100644 (file)
@@ -4,7 +4,7 @@
 
     Formatter for groff output.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -144,6 +144,8 @@ class GroffFormatter(Formatter):
             self._write_lineno(outfile)
 
         for ttype, value in tokensource:
+            while ttype not in self.styles:
+                ttype = ttype.parent
             start, end = self.styles[ttype]
 
             for line in value.splitlines(True):
index f3a77a2ddf52ac51f13af0b2fc336c2627765a35..791f749a38606c3ef73eb05aa802d9e4f092b1c6 100644 (file)
@@ -4,7 +4,7 @@
 
     Formatter for HTML output.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -62,7 +62,7 @@ def _get_ttype_class(ttype):
 CSSFILE_TEMPLATE = '''\
 /*
 generated by Pygments <https://pygments.org/>
-Copyright 2006-2021 by the Pygments team.
+Copyright 2006-2022 by the Pygments team.
 Licensed under the BSD license, see LICENSE for details.
 */
 %(styledefs)s
@@ -73,7 +73,7 @@ DOC_HEADER = '''\
    "http://www.w3.org/TR/html4/strict.dtd">
 <!--
 generated by Pygments <https://pygments.org/>
-Copyright 2006-2021 by the Pygments team.
+Copyright 2006-2022 by the Pygments team.
 Licensed under the BSD license, see LICENSE for details.
 -->
 <html>
@@ -385,7 +385,7 @@ class HtmlFormatter(Formatter):
 
         class CodeHtmlFormatter(HtmlFormatter):
 
-            def wrap(self, source, outfile):
+            def wrap(self, source, *, include_div):
                 return self._wrap_code(source)
 
             def _wrap_code(self, source):
@@ -667,7 +667,7 @@ class HtmlFormatter(Formatter):
         mw = len(str(lncount + fl - 1))
         sp = self.linenospecial
         st = self.linenostep
-        la = self.lineanchors
+        anchor_name = self.lineanchors or self.linespans
         aln = self.anchorlinenos
         nocls = self.noclasses
 
@@ -680,7 +680,7 @@ class HtmlFormatter(Formatter):
             if print_line:
                 line = '%*d' % (mw, i)
                 if aln:
-                    line = '<a href="#%s-%d">%s</a>' % (la, i, line)
+                    line = '<a href="#%s-%d">%s</a>' % (anchor_name, i, line)
             else:
                 line = ' ' * mw
 
@@ -707,20 +707,21 @@ class HtmlFormatter(Formatter):
         filename_tr = ""
         if self.filename:
             filename_tr = (
-                '<tr><th colspan="2" class="filename"><div class="highlight">'
-                '<span class="filename">' + self.filename + '</span></div>'
+                '<tr><th colspan="2" class="filename">'
+                '<span class="filename">' + self.filename + '</span>'
                 '</th></tr>')
 
         # in case you wonder about the seemingly redundant <div> here: since the
         # content in the other cell also is wrapped in a div, some browsers in
         # some configurations seem to mess up the formatting...
-        yield 0, (
-            '<table class="%stable">' % self.cssclass + filename_tr +
+        yield 0, (f'<table class="{self.cssclass}table">' + filename_tr +
             '<tr><td class="linenos"><div class="linenodiv"><pre>' +
-            ls + '</pre></div></td><td class="code">'
-        )
+            ls + '</pre></div></td><td class="code">')
+        yield 0, '<div>'
         yield 0, dummyoutfile.getvalue()
+        yield 0, '</div>'
         yield 0, '</td></tr></table>'
+        
 
     def _wrap_inlinelinenos(self, inner):
         # need a list of lines since we need the width of a single number :(
@@ -729,7 +730,7 @@ class HtmlFormatter(Formatter):
         st = self.linenostep
         num = self.linenostart
         mw = len(str(len(inner_lines) + num - 1))
-        la = self.lineanchors
+        anchor_name = self.lineanchors or self.linespans
         aln = self.anchorlinenos
         nocls = self.noclasses
 
@@ -759,7 +760,7 @@ class HtmlFormatter(Formatter):
                 linenos = line
 
             if aln:
-                yield 1, ('<a href="#%s-%d">%s</a>' % (la, num, linenos) +
+                yield 1, ('<a href="#%s-%d">%s</a>' % (anchor_name, num, linenos) +
                           inner_line)
             else:
                 yield 1, linenos + inner_line
@@ -933,16 +934,20 @@ class HtmlFormatter(Formatter):
             else:
                 yield 1, value
 
-    def wrap(self, source, outfile):
+    def wrap(self, source):
         """
         Wrap the ``source``, which is a generator yielding
         individual lines, in custom generators. See docstring
         for `format`. Can be overridden.
         """
+
+        output = source
         if self.wrapcode:
-            return self._wrap_div(self._wrap_pre(self._wrap_code(source)))
-        else:
-            return self._wrap_div(self._wrap_pre(source))
+            output = self._wrap_code(output)
+        
+        output = self._wrap_pre(output)
+    
+        return output
 
     def format_unencoded(self, tokensource, outfile):
         """
@@ -973,9 +978,10 @@ class HtmlFormatter(Formatter):
                 source = self._wrap_lineanchors(source)
             if self.linespans:
                 source = self._wrap_linespans(source)
-            source = self.wrap(source, outfile)
+            source = self.wrap(source)
             if self.linenos == 1:
                 source = self._wrap_tablelinenos(source)
+            source = self._wrap_div(source)
             if self.full:
                 source = self._wrap_full(source, outfile)
 
index f481afc4a4921353f6d1b752fa299e58ba1be2b6..08400407ab4f0b87a755a55e8277c4c411c991d7 100644 (file)
@@ -4,7 +4,7 @@
 
     Formatter for Pixmap output.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index d8da7a39de565e0d28efdb38919ae05eeb0d458e..fd263bb0b092b1f1e12b35b763c3b41e167f53f7 100644 (file)
@@ -4,7 +4,7 @@
 
     Formatter for IRC output
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index e32fcebc5a3a18f19d851cfdc1e773015a6ddce7..d33b686d8fa1ab3232c2c0aac0b58e65a9beab42 100644 (file)
@@ -4,7 +4,7 @@
 
     Formatter for LaTeX fancyvrb output.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -159,6 +159,8 @@ class LatexFormatter(Formatter):
             \PY{k}{pass}
         \end{Verbatim}
 
+    Wrapping can be disabled using the `nowrap` option.
+
     The special command used here (``\PY``) and all the other macros it needs
     are output by the `get_style_defs` method.
 
@@ -171,6 +173,11 @@ class LatexFormatter(Formatter):
 
     Additional options accepted:
 
+    `nowrap`
+        If set to ``True``, don't wrap the tokens at all, not even inside a
+        ``\begin{Verbatim}`` environment. This disables most other options
+        (default: ``False``).
+
     `style`
         The style to use, can be a string or a Style subclass (default:
         ``'default'``).
@@ -248,6 +255,7 @@ class LatexFormatter(Formatter):
 
     def __init__(self, **options):
         Formatter.__init__(self, **options)
+        self.nowrap = get_bool_opt(options, 'nowrap', False)
         self.docclass = options.get('docclass', 'article')
         self.preamble = options.get('preamble', '')
         self.linenos = get_bool_opt(options, 'linenos', False)
@@ -334,18 +342,19 @@ class LatexFormatter(Formatter):
             realoutfile = outfile
             outfile = StringIO()
 
-        outfile.write('\\begin{' + self.envname + '}[commandchars=\\\\\\{\\}')
-        if self.linenos:
-            start, step = self.linenostart, self.linenostep
-            outfile.write(',numbers=left' +
-                          (start and ',firstnumber=%d' % start or '') +
-                          (step and ',stepnumber=%d' % step or ''))
-        if self.mathescape or self.texcomments or self.escapeinside:
-            outfile.write(',codes={\\catcode`\\$=3\\catcode`\\^=7'
-                          '\\catcode`\\_=8\\relax}')
-        if self.verboptions:
-            outfile.write(',' + self.verboptions)
-        outfile.write(']\n')
+        if not self.nowrap:
+            outfile.write('\\begin{' + self.envname + '}[commandchars=\\\\\\{\\}')
+            if self.linenos:
+                start, step = self.linenostart, self.linenostep
+                outfile.write(',numbers=left' +
+                              (start and ',firstnumber=%d' % start or '') +
+                              (step and ',stepnumber=%d' % step or ''))
+            if self.mathescape or self.texcomments or self.escapeinside:
+                outfile.write(',codes={\\catcode`\\$=3\\catcode`\\^=7'
+                              '\\catcode`\\_=8\\relax}')
+            if self.verboptions:
+                outfile.write(',' + self.verboptions)
+            outfile.write(']\n')
 
         for ttype, value in tokensource:
             if ttype in Token.Comment:
@@ -408,7 +417,8 @@ class LatexFormatter(Formatter):
             else:
                 outfile.write(value)
 
-        outfile.write('\\end{' + self.envname + '}\n')
+        if not self.nowrap:
+            outfile.write('\\end{' + self.envname + '}\n')
 
         if self.full:
             encoding = self.encoding or 'utf8'
index 1a12c42b96e9ebed4383efec0cafc0e4309e176c..8c7ee280a0f41adff41e1abefeb5d69a1a8b1059 100644 (file)
@@ -4,7 +4,7 @@
 
     Other formatters: NullFormatter, RawTokenFormatter.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 926ccc6d3ba267f005f0988ae015f2c4edaf8b6a..91c1b0161e1e850a923d1f917bc3495179c9e29e 100644 (file)
@@ -4,7 +4,7 @@
 
     Formatter for Pango markup output.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index ba071c78f49ae38adbc8f454d095864306a82406..ccdfb0a734adb3650074680378b172508770d9c1 100644 (file)
@@ -4,7 +4,7 @@
 
     A formatter that generates RTF files.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 547a7bbcdd86d91fb2b5c78bf4f435288a903bf5..32d40cb64034a55735ca49551995a34a7f34eda1 100644 (file)
@@ -4,7 +4,7 @@
 
     Formatter for SVG output.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index a27594d0df2df5c965dcfe15d812b77354956217..23d3a71ef06bff7aba4ed6f5bce6e5b17e32e61e 100644 (file)
@@ -4,7 +4,7 @@
 
     Formatter for terminal output with ANSI sequences.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index be6f890f4488afa4f1e646bee3b4e794f60567be..addba4296038a7fcbfbf99ded913eb47b63bb806 100644 (file)
@@ -10,7 +10,7 @@
 
     Formatter version 1.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 33d738a8d653f52df555b5ae6d70414a370e70b5..27d73ee1c31cd470db0041bab1df126ff606a54c 100644 (file)
@@ -4,7 +4,7 @@
 
     Base lexer classes.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -76,6 +76,9 @@ class Lexer(metaclass=LexerMeta):
     #: Name of the lexer
     name = None
 
+    #: URL of the language specification/definition
+    url = None
+
     #: Shortcuts for the lexer
     aliases = []
 
@@ -618,7 +621,7 @@ class RegexLexer(Lexer, metaclass=RegexLexerMeta):
         """
         Split ``text`` into (tokentype, text) pairs.
 
-        ``stack`` is the inital stack (default: ``['root']``)
+        ``stack`` is the initial stack (default: ``['root']``)
         """
         pos = 0
         tokendefs = self._tokens
@@ -738,7 +741,7 @@ class ExtendedRegexLexer(RegexLexer):
                         elif isinstance(new_state, int):
                             # see RegexLexer for why this check is made
                             if abs(new_state) >= len(ctx.stack):
-                                del ctx.state[1:]
+                                del ctx.stack[1:]
                             else:
                                 del ctx.stack[new_state:]
                         elif new_state == '#push':
@@ -792,7 +795,7 @@ def do_insertions(insertions, tokens):
     # iterate over the token stream where we want to insert
     # the tokens from the insertion list.
     for i, t, v in tokens:
-        # first iteration. store the postition of first item
+        # first iteration. store the position of first item
         if realpos is None:
             realpos = i
         oldi = 0
index 9b89b6da3fce746bf3b3ed52f5ea43615a034b73..79c4e9bf35c1c1405266c0ba9a831dd5affb1974 100644 (file)
@@ -4,7 +4,7 @@
 
     Pygments lexers.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -47,14 +47,18 @@ def _load_lexers(module_name):
         _lexer_cache[cls.name] = cls
 
 
-def get_all_lexers():
+def get_all_lexers(plugins=True):
     """Return a generator of tuples in the form ``(name, aliases,
     filenames, mimetypes)`` of all know lexers.
+
+    If *plugins* is true (the default), plugin lexers supplied by entrypoints
+    are also returned.  Otherwise, only builtin ones are considered.
     """
     for item in LEXERS.values():
         yield item[1:]
-    for lexer in find_plugin_lexers():
-        yield lexer.name, lexer.aliases, lexer.filenames, lexer.mimetypes
+    if plugins:
+        for lexer in find_plugin_lexers():
+            yield lexer.name, lexer.aliases, lexer.filenames, lexer.mimetypes
 
 
 def find_lexer_class(name):
diff --git a/pygments/lexers/_ada_builtins.py b/pygments/lexers/_ada_builtins.py
new file mode 100644 (file)
index 0000000..dce1a5b
--- /dev/null
@@ -0,0 +1,103 @@
+"""
+    pygments.lexers._ada_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Ada builtins.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+KEYWORD_LIST = (
+    'abort',
+    'abs',
+    'abstract',
+    'accept',
+    'access',
+    'aliased',
+    'all',
+    'array',
+    'at',
+    'begin',
+    'body',
+    'case',
+    'constant',
+    'declare',
+    'delay',
+    'delta',
+    'digits',
+    'do',
+    'else',
+    'elsif',
+    'end',
+    'entry',
+    'exception',
+    'exit',
+    'interface',
+    'for',
+    'goto',
+    'if',
+    'is',
+    'limited',
+    'loop',
+    'new',
+    'null',
+    'of',
+    'or',
+    'others',
+    'out',
+    'overriding',
+    'pragma',
+    'protected',
+    'raise',
+    'range',
+    'record',
+    'renames',
+    'requeue',
+    'return',
+    'reverse',
+    'select',
+    'separate',
+    'some',
+    'subtype',
+    'synchronized',
+    'task',
+    'tagged',
+    'terminate',
+    'then',
+    'type',
+    'until',
+    'when',
+    'while',
+    'xor'
+)
+
+BUILTIN_LIST = (
+    'Address',
+    'Byte',
+    'Boolean',
+    'Character',
+    'Controlled',
+    'Count',
+    'Cursor',
+    'Duration',
+    'File_Mode',
+    'File_Type',
+    'Float',
+    'Generator',
+    'Integer',
+    'Long_Float',
+    'Long_Integer',
+    'Long_Long_Float',
+    'Long_Long_Integer',
+    'Natural',
+    'Positive',
+    'Reference_Type',
+    'Short_Float',
+    'Short_Integer',
+    'Short_Short_Float',
+    'Short_Short_Integer',
+    'String',
+    'Wide_Character',
+    'Wide_String'
+)
index 74e057ef4030b04a52a82b5399849ce99afb06c9..88c203888070c054c2dd34b3d480dccb8ee553cc 100644 (file)
@@ -9,7 +9,7 @@
     TODO: perl/python script in Asymptote SVN similar to asy-list.pl but only
     for function and variable names.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 08d70e15492d6268d32e6023a24af2ad47d4df5e..342e62f16c5bfa95d899626340d9fd632ed82060 100644 (file)
@@ -4,7 +4,7 @@
 
     ANSI Common Lisp builtins.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 72d86db1e7b322170f8c8f3f5431bd6d36e5dff3..5171139a066adaf4018013f01babf022d30ad2f9 100644 (file)
@@ -5,9 +5,9 @@
     This file defines a set of types used across Cocoa frameworks from Apple.
     There is a list of @interfaces, @protocols and some other (structs, unions)
 
-    File may be also used as standalone generator for aboves.
+    File may be also used as standalone generator for above.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index e7e395dc6a849ba5fde7bc466f374740fae10c81..b57043dc3926d45aa3642c9ca18300c04db99794 100644 (file)
@@ -2,7 +2,7 @@
     pygments.lexers._csound_builtins
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -34,7 +34,7 @@ tabrowlin
 vbap1move
 '''.split())
 
-# Opcodes in Csound 6.16.0 using:
+# Opcodes in Csound 6.17.0 using:
 #   python3 -c "
 #   import re
 #   from subprocess import Popen, PIPE
@@ -256,6 +256,7 @@ bbcuts
 betarand
 bexprnd
 bformdec1
+bformdec2
 bformenc1
 binit
 biquad
@@ -565,6 +566,7 @@ grain
 grain2
 grain3
 granule
+gtadsr
 gtf
 guiro
 harmon
@@ -896,6 +898,7 @@ median
 mediank
 metro
 metro2
+metrobpm
 mfb
 midglobal
 midiarp
@@ -944,6 +947,7 @@ mp3bitrate
 mp3in
 mp3len
 mp3nchnls
+mp3out
 mp3scal
 mp3sr
 mpulse
@@ -1147,6 +1151,7 @@ pvsftr
 pvsftw
 pvsfwrite
 pvsgain
+pvsgendy
 pvshift
 pvsifd
 pvsin
@@ -1313,7 +1318,9 @@ scale
 scale2
 scalearray
 scanhammer
+scanmap
 scans
+scansmap
 scantable
 scanu
 scanu2
@@ -1332,6 +1339,7 @@ sense
 sensekey
 seqtime
 seqtime2
+sequ
 serialBegin
 serialEnd
 serialFlush
@@ -1524,8 +1532,10 @@ trfilter
 trhighest
 trigExpseg
 trigLinseg
+trigexpseg
 trigger
 trighold
+triglinseg
 trigphasor
 trigseq
 trim
@@ -1656,10 +1666,6 @@ wterrain2
 xadsr
 xin
 xout
-xscanmap
-xscans
-xscansmap
-xscanu
 xtratim
 xyscale
 zacl
@@ -1761,5 +1767,9 @@ vbap4
 vbap4move
 vbap8
 vbap8move
+xscanmap
+xscans
+xscansmap
+xscanu
 xyin
 '''.split())
diff --git a/pygments/lexers/_css_builtins.py b/pygments/lexers/_css_builtins.py
new file mode 100644 (file)
index 0000000..785a6f3
--- /dev/null
@@ -0,0 +1,558 @@
+"""
+    pygments.lexers._css_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    This file is autogenerated by scripts/get_css_properties.py
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+_css_properties = (
+    '-webkit-line-clamp',
+    'accent-color',
+    'align-content',
+    'align-items',
+    'align-self',
+    'alignment-baseline',
+    'all',
+    'animation',
+    'animation-delay',
+    'animation-direction',
+    'animation-duration',
+    'animation-fill-mode',
+    'animation-iteration-count',
+    'animation-name',
+    'animation-play-state',
+    'animation-timing-function',
+    'appearance',
+    'aspect-ratio',
+    'azimuth',
+    'backface-visibility',
+    'background',
+    'background-attachment',
+    'background-blend-mode',
+    'background-clip',
+    'background-color',
+    'background-image',
+    'background-origin',
+    'background-position',
+    'background-repeat',
+    'background-size',
+    'baseline-shift',
+    'baseline-source',
+    'block-ellipsis',
+    'block-size',
+    'block-step',
+    'block-step-align',
+    'block-step-insert',
+    'block-step-round',
+    'block-step-size',
+    'bookmark-label',
+    'bookmark-level',
+    'bookmark-state',
+    'border',
+    'border-block',
+    'border-block-color',
+    'border-block-end',
+    'border-block-end-color',
+    'border-block-end-style',
+    'border-block-end-width',
+    'border-block-start',
+    'border-block-start-color',
+    'border-block-start-style',
+    'border-block-start-width',
+    'border-block-style',
+    'border-block-width',
+    'border-bottom',
+    'border-bottom-color',
+    'border-bottom-left-radius',
+    'border-bottom-right-radius',
+    'border-bottom-style',
+    'border-bottom-width',
+    'border-boundary',
+    'border-collapse',
+    'border-color',
+    'border-end-end-radius',
+    'border-end-start-radius',
+    'border-image',
+    'border-image-outset',
+    'border-image-repeat',
+    'border-image-slice',
+    'border-image-source',
+    'border-image-width',
+    'border-inline',
+    'border-inline-color',
+    'border-inline-end',
+    'border-inline-end-color',
+    'border-inline-end-style',
+    'border-inline-end-width',
+    'border-inline-start',
+    'border-inline-start-color',
+    'border-inline-start-style',
+    'border-inline-start-width',
+    'border-inline-style',
+    'border-inline-width',
+    'border-left',
+    'border-left-color',
+    'border-left-style',
+    'border-left-width',
+    'border-radius',
+    'border-right',
+    'border-right-color',
+    'border-right-style',
+    'border-right-width',
+    'border-spacing',
+    'border-start-end-radius',
+    'border-start-start-radius',
+    'border-style',
+    'border-top',
+    'border-top-color',
+    'border-top-left-radius',
+    'border-top-right-radius',
+    'border-top-style',
+    'border-top-width',
+    'border-width',
+    'bottom',
+    'box-decoration-break',
+    'box-shadow',
+    'box-sizing',
+    'box-snap',
+    'break-after',
+    'break-before',
+    'break-inside',
+    'caption-side',
+    'caret',
+    'caret-color',
+    'caret-shape',
+    'chains',
+    'clear',
+    'clip',
+    'clip-path',
+    'clip-rule',
+    'color',
+    'color-adjust',
+    'color-interpolation-filters',
+    'color-scheme',
+    'column-count',
+    'column-fill',
+    'column-gap',
+    'column-rule',
+    'column-rule-color',
+    'column-rule-style',
+    'column-rule-width',
+    'column-span',
+    'column-width',
+    'columns',
+    'contain',
+    'contain-intrinsic-block-size',
+    'contain-intrinsic-height',
+    'contain-intrinsic-inline-size',
+    'contain-intrinsic-size',
+    'contain-intrinsic-width',
+    'container',
+    'container-name',
+    'container-type',
+    'content',
+    'content-visibility',
+    'continue',
+    'counter-increment',
+    'counter-reset',
+    'counter-set',
+    'cue',
+    'cue-after',
+    'cue-before',
+    'cursor',
+    'direction',
+    'display',
+    'dominant-baseline',
+    'elevation',
+    'empty-cells',
+    'fill',
+    'fill-break',
+    'fill-color',
+    'fill-image',
+    'fill-opacity',
+    'fill-origin',
+    'fill-position',
+    'fill-repeat',
+    'fill-rule',
+    'fill-size',
+    'filter',
+    'flex',
+    'flex-basis',
+    'flex-direction',
+    'flex-flow',
+    'flex-grow',
+    'flex-shrink',
+    'flex-wrap',
+    'float',
+    'float-defer',
+    'float-offset',
+    'float-reference',
+    'flood-color',
+    'flood-opacity',
+    'flow',
+    'flow-from',
+    'flow-into',
+    'font',
+    'font-family',
+    'font-feature-settings',
+    'font-kerning',
+    'font-language-override',
+    'font-optical-sizing',
+    'font-palette',
+    'font-size',
+    'font-size-adjust',
+    'font-stretch',
+    'font-style',
+    'font-synthesis',
+    'font-synthesis-small-caps',
+    'font-synthesis-style',
+    'font-synthesis-weight',
+    'font-variant',
+    'font-variant-alternates',
+    'font-variant-caps',
+    'font-variant-east-asian',
+    'font-variant-emoji',
+    'font-variant-ligatures',
+    'font-variant-numeric',
+    'font-variant-position',
+    'font-variation-settings',
+    'font-weight',
+    'footnote-display',
+    'footnote-policy',
+    'forced-color-adjust',
+    'gap',
+    'glyph-orientation-vertical',
+    'grid',
+    'grid-area',
+    'grid-auto-columns',
+    'grid-auto-flow',
+    'grid-auto-rows',
+    'grid-column',
+    'grid-column-end',
+    'grid-column-start',
+    'grid-row',
+    'grid-row-end',
+    'grid-row-start',
+    'grid-template',
+    'grid-template-areas',
+    'grid-template-columns',
+    'grid-template-rows',
+    'hanging-punctuation',
+    'height',
+    'hyphenate-character',
+    'hyphenate-limit-chars',
+    'hyphenate-limit-last',
+    'hyphenate-limit-lines',
+    'hyphenate-limit-zone',
+    'hyphens',
+    'image-orientation',
+    'image-rendering',
+    'image-resolution',
+    'initial-letter',
+    'initial-letter-align',
+    'initial-letter-wrap',
+    'inline-size',
+    'inline-sizing',
+    'input-security',
+    'inset',
+    'inset-block',
+    'inset-block-end',
+    'inset-block-start',
+    'inset-inline',
+    'inset-inline-end',
+    'inset-inline-start',
+    'isolation',
+    'justify-content',
+    'justify-items',
+    'justify-self',
+    'leading-trim',
+    'left',
+    'letter-spacing',
+    'lighting-color',
+    'line-break',
+    'line-clamp',
+    'line-grid',
+    'line-height',
+    'line-height-step',
+    'line-padding',
+    'line-snap',
+    'list-style',
+    'list-style-image',
+    'list-style-position',
+    'list-style-type',
+    'margin',
+    'margin-block',
+    'margin-block-end',
+    'margin-block-start',
+    'margin-bottom',
+    'margin-break',
+    'margin-inline',
+    'margin-inline-end',
+    'margin-inline-start',
+    'margin-left',
+    'margin-right',
+    'margin-top',
+    'margin-trim',
+    'marker',
+    'marker-end',
+    'marker-knockout-left',
+    'marker-knockout-right',
+    'marker-mid',
+    'marker-pattern',
+    'marker-segment',
+    'marker-side',
+    'marker-start',
+    'mask',
+    'mask-border',
+    'mask-border-mode',
+    'mask-border-outset',
+    'mask-border-repeat',
+    'mask-border-slice',
+    'mask-border-source',
+    'mask-border-width',
+    'mask-clip',
+    'mask-composite',
+    'mask-image',
+    'mask-mode',
+    'mask-origin',
+    'mask-position',
+    'mask-repeat',
+    'mask-size',
+    'mask-type',
+    'max-block-size',
+    'max-height',
+    'max-inline-size',
+    'max-lines',
+    'max-width',
+    'min-block-size',
+    'min-height',
+    'min-inline-size',
+    'min-intrinsic-sizing',
+    'min-width',
+    'mix-blend-mode',
+    'nav-down',
+    'nav-left',
+    'nav-right',
+    'nav-up',
+    'object-fit',
+    'object-overflow',
+    'object-position',
+    'object-view-box',
+    'offset',
+    'offset-anchor',
+    'offset-distance',
+    'offset-path',
+    'offset-position',
+    'offset-rotate',
+    'opacity',
+    'order',
+    'orphans',
+    'outline',
+    'outline-color',
+    'outline-offset',
+    'outline-style',
+    'outline-width',
+    'overflow',
+    'overflow-anchor',
+    'overflow-block',
+    'overflow-clip-margin',
+    'overflow-inline',
+    'overflow-wrap',
+    'overflow-x',
+    'overflow-y',
+    'overscroll-behavior',
+    'overscroll-behavior-block',
+    'overscroll-behavior-inline',
+    'overscroll-behavior-x',
+    'overscroll-behavior-y',
+    'padding',
+    'padding-block',
+    'padding-block-end',
+    'padding-block-start',
+    'padding-bottom',
+    'padding-inline',
+    'padding-inline-end',
+    'padding-inline-start',
+    'padding-left',
+    'padding-right',
+    'padding-top',
+    'page',
+    'page-break-after',
+    'page-break-before',
+    'page-break-inside',
+    'pause',
+    'pause-after',
+    'pause-before',
+    'perspective',
+    'perspective-origin',
+    'pitch',
+    'pitch-range',
+    'place-content',
+    'place-items',
+    'place-self',
+    'play-during',
+    'pointer-events',
+    'position',
+    'print-color-adjust',
+    'property-name',
+    'quotes',
+    'region-fragment',
+    'resize',
+    'rest',
+    'rest-after',
+    'rest-before',
+    'richness',
+    'right',
+    'rotate',
+    'row-gap',
+    'ruby-align',
+    'ruby-merge',
+    'ruby-overhang',
+    'ruby-position',
+    'running',
+    'scale',
+    'scroll-behavior',
+    'scroll-margin',
+    'scroll-margin-block',
+    'scroll-margin-block-end',
+    'scroll-margin-block-start',
+    'scroll-margin-bottom',
+    'scroll-margin-inline',
+    'scroll-margin-inline-end',
+    'scroll-margin-inline-start',
+    'scroll-margin-left',
+    'scroll-margin-right',
+    'scroll-margin-top',
+    'scroll-padding',
+    'scroll-padding-block',
+    'scroll-padding-block-end',
+    'scroll-padding-block-start',
+    'scroll-padding-bottom',
+    'scroll-padding-inline',
+    'scroll-padding-inline-end',
+    'scroll-padding-inline-start',
+    'scroll-padding-left',
+    'scroll-padding-right',
+    'scroll-padding-top',
+    'scroll-snap-align',
+    'scroll-snap-stop',
+    'scroll-snap-type',
+    'scrollbar-color',
+    'scrollbar-gutter',
+    'scrollbar-width',
+    'shape-image-threshold',
+    'shape-inside',
+    'shape-margin',
+    'shape-outside',
+    'spatial-navigation-action',
+    'spatial-navigation-contain',
+    'spatial-navigation-function',
+    'speak',
+    'speak-as',
+    'speak-header',
+    'speak-numeral',
+    'speak-punctuation',
+    'speech-rate',
+    'stress',
+    'string-set',
+    'stroke',
+    'stroke-align',
+    'stroke-alignment',
+    'stroke-break',
+    'stroke-color',
+    'stroke-dash-corner',
+    'stroke-dash-justify',
+    'stroke-dashadjust',
+    'stroke-dasharray',
+    'stroke-dashcorner',
+    'stroke-dashoffset',
+    'stroke-image',
+    'stroke-linecap',
+    'stroke-linejoin',
+    'stroke-miterlimit',
+    'stroke-opacity',
+    'stroke-origin',
+    'stroke-position',
+    'stroke-repeat',
+    'stroke-size',
+    'stroke-width',
+    'tab-size',
+    'table-layout',
+    'text-align',
+    'text-align-all',
+    'text-align-last',
+    'text-combine-upright',
+    'text-decoration',
+    'text-decoration-color',
+    'text-decoration-line',
+    'text-decoration-skip',
+    'text-decoration-skip-box',
+    'text-decoration-skip-ink',
+    'text-decoration-skip-inset',
+    'text-decoration-skip-self',
+    'text-decoration-skip-spaces',
+    'text-decoration-style',
+    'text-decoration-thickness',
+    'text-edge',
+    'text-emphasis',
+    'text-emphasis-color',
+    'text-emphasis-position',
+    'text-emphasis-skip',
+    'text-emphasis-style',
+    'text-group-align',
+    'text-indent',
+    'text-justify',
+    'text-orientation',
+    'text-overflow',
+    'text-shadow',
+    'text-space-collapse',
+    'text-space-trim',
+    'text-spacing',
+    'text-transform',
+    'text-underline-offset',
+    'text-underline-position',
+    'text-wrap',
+    'top',
+    'transform',
+    'transform-box',
+    'transform-origin',
+    'transform-style',
+    'transition',
+    'transition-delay',
+    'transition-duration',
+    'transition-property',
+    'transition-timing-function',
+    'translate',
+    'unicode-bidi',
+    'user-select',
+    'vertical-align',
+    'visibility',
+    'voice-balance',
+    'voice-duration',
+    'voice-family',
+    'voice-pitch',
+    'voice-range',
+    'voice-rate',
+    'voice-stress',
+    'voice-volume',
+    'volume',
+    'white-space',
+    'widows',
+    'width',
+    'will-change',
+    'word-boundary-detection',
+    'word-boundary-expansion',
+    'word-break',
+    'word-spacing',
+    'word-wrap',
+    'wrap-after',
+    'wrap-before',
+    'wrap-flow',
+    'wrap-inside',
+    'wrap-through',
+    'writing-mode',
+    'z-index',
+)
\ No newline at end of file
index ae786d89c0ff71789a0f5cc7d432c6e565c803ca..533547ad648ff89cd86f4dc64dd42a2670b7c67e 100644 (file)
@@ -4,7 +4,7 @@
 
     Julia builtins.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 8fd0ff1be29c42d1166645661be5d98c07d3ca2c..570c310d6cdbc6888b64daee710368255b3634f7 100644 (file)
@@ -4,7 +4,7 @@
 
     Built-in Lasso types, traits, methods, and members.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index c096273a90b685b62bfdd7bcc3d1105de5cdf6ea..7aff4120e90a6bc5c2a6b5db4a4ba43454e97268 100644 (file)
@@ -4,7 +4,7 @@
 
     LilyPond builtins.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index f6a9b796ee9da171309564a778a992704ce55092..08bcfb17c4a5dc2b4425c13922c7326ddc3ff53e 100644 (file)
@@ -8,7 +8,9 @@
 
     Do not edit the MODULES dict by hand.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    Run with `python -I` to regenerate.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -35,6 +37,7 @@ MODULES = {'basic': ('_G',
            'tonumber',
            'tostring',
            'type',
+           'warn',
            'xpcall'),
  'bit32': ('bit32.arshift',
            'bit32.band',
@@ -48,7 +51,8 @@ MODULES = {'basic': ('_G',
            'bit32.replace',
            'bit32.rrotate',
            'bit32.rshift'),
- 'coroutine': ('coroutine.create',
+ 'coroutine': ('coroutine.close',
+               'coroutine.create',
                'coroutine.isyieldable',
                'coroutine.resume',
                'coroutine.running',
@@ -173,17 +177,7 @@ MODULES = {'basic': ('_G',
 if __name__ == '__main__':  # pragma: no cover
     import re
     import sys
-
-    # urllib ends up wanting to import a module called 'math' -- if
-    # pygments/lexers is in the path, this ends badly.
-    for i in range(len(sys.path)-1, -1, -1):
-        if sys.path[i].endswith('/lexers'):
-            del sys.path[i]
-
-    try:
-        from urllib import urlopen
-    except ImportError:
-        from urllib.request import urlopen
+    from urllib.request import urlopen
     import pprint
 
     # you can't generally find out what module a function belongs to if you
@@ -232,7 +226,7 @@ if __name__ == '__main__':  # pragma: no cover
         f = urlopen('http://www.lua.org/manual/')
         r = re.compile(r'^<A HREF="(\d\.\d)/">(Lua )?\1</A>')
         for line in f:
-            m = r.match(line)
+            m = r.match(line.decode('iso-8859-1'))
             if m is not None:
                 return m.groups()[0]
 
@@ -241,7 +235,7 @@ if __name__ == '__main__':  # pragma: no cover
         r = re.compile(r'^<A HREF="manual.html#pdf-(?!lua|LUA)([^:]+)">\1</A>')
         functions = []
         for line in f:
-            m = r.match(line)
+            m = r.match(line.decode('iso-8859-1'))
             if m is not None:
                 functions.append(m.groups()[0])
         return functions
index a7b1b2d96a73519dd49cc2a8c1aea8ef05e07659..b9da25f9c7ddddfefd66efce6b1ace04e9c2f163 100644 (file)
@@ -2,7 +2,7 @@
     pygments.lexers._mapping
     ~~~~~~~~~~~~~~~~~~~~~~~~
 
-    Lexer mapping definitions. This file is generated by itself. Everytime
+    Lexer mapping definitions. This file is generated by itself. Every time
     you change something on a builtin lexer definition, run this script from
     the lexers folder to update it.
 
@@ -19,7 +19,7 @@ LEXERS = {
     'AbnfLexer': ('pygments.lexers.grammar_notation', 'ABNF', ('abnf',), ('*.abnf',), ('text/x-abnf',)),
     'ActionScript3Lexer': ('pygments.lexers.actionscript', 'ActionScript 3', ('actionscript3', 'as3'), ('*.as',), ('application/x-actionscript3', 'text/x-actionscript3', 'text/actionscript3')),
     'ActionScriptLexer': ('pygments.lexers.actionscript', 'ActionScript', ('actionscript', 'as'), ('*.as',), ('application/x-actionscript', 'text/x-actionscript', 'text/actionscript')),
-    'AdaLexer': ('pygments.lexers.pascal', 'Ada', ('ada', 'ada95', 'ada2005'), ('*.adb', '*.ads', '*.ada'), ('text/x-ada',)),
+    'AdaLexer': ('pygments.lexers.ada', 'Ada', ('ada', 'ada95', 'ada2005'), ('*.adb', '*.ads', '*.ada'), ('text/x-ada',)),
     'AdlLexer': ('pygments.lexers.archetype', 'ADL', ('adl',), ('*.adl', '*.adls', '*.adlf', '*.adlx'), ()),
     'AgdaLexer': ('pygments.lexers.haskell', 'Agda', ('agda',), ('*.agda',), ('text/x-agda',)),
     'AheuiLexer': ('pygments.lexers.esoteric', 'Aheui', ('aheui',), ('*.aheui',), ()),
@@ -59,6 +59,7 @@ LEXERS = {
     'BatchLexer': ('pygments.lexers.shell', 'Batchfile', ('batch', 'bat', 'dosbatch', 'winbatch'), ('*.bat', '*.cmd'), ('application/x-dos-batch',)),
     'BddLexer': ('pygments.lexers.bdd', 'Bdd', ('bdd',), ('*.feature',), ('text/x-bdd',)),
     'BefungeLexer': ('pygments.lexers.esoteric', 'Befunge', ('befunge',), ('*.befunge',), ('application/x-befunge',)),
+    'BerryLexer': ('pygments.lexers.berry', 'Berry', ('berry', 'be'), ('*.be',), ('text/x-berry', 'application/x-berry')),
     'BibTeXLexer': ('pygments.lexers.bibtex', 'BibTeX', ('bibtex', 'bib'), ('*.bib',), ('text/x-bibtex',)),
     'BlitzBasicLexer': ('pygments.lexers.basic', 'BlitzBasic', ('blitzbasic', 'b3d', 'bplus'), ('*.bb', '*.decls'), ('text/x-bb',)),
     'BlitzMaxLexer': ('pygments.lexers.basic', 'BlitzMax', ('blitzmax', 'bmax'), ('*.bmx',), ('text/x-bmx',)),
@@ -73,6 +74,7 @@ LEXERS = {
     'CMakeLexer': ('pygments.lexers.make', 'CMake', ('cmake',), ('*.cmake', 'CMakeLists.txt'), ('text/x-cmake',)),
     'CObjdumpLexer': ('pygments.lexers.asm', 'c-objdump', ('c-objdump',), ('*.c-objdump',), ('text/x-c-objdump',)),
     'CPSALexer': ('pygments.lexers.lisp', 'CPSA', ('cpsa',), ('*.cpsa',), ()),
+    'CSSUL4Lexer': ('pygments.lexers.ul4', 'CSS+UL4', ('css+ul4',), ('*.cssul4',), ()),
     'CSharpAspxLexer': ('pygments.lexers.dotnet', 'aspx-cs', ('aspx-cs',), ('*.aspx', '*.asax', '*.ascx', '*.ashx', '*.asmx', '*.axd'), ()),
     'CSharpLexer': ('pygments.lexers.dotnet', 'C#', ('csharp', 'c#', 'cs'), ('*.cs',), ('text/x-csharp',)),
     'Ca65Lexer': ('pygments.lexers.asm', 'ca65 assembler', ('ca65',), ('*.s',), ()),
@@ -93,7 +95,7 @@ LEXERS = {
     'CirruLexer': ('pygments.lexers.webmisc', 'Cirru', ('cirru',), ('*.cirru',), ('text/x-cirru',)),
     'ClayLexer': ('pygments.lexers.c_like', 'Clay', ('clay',), ('*.clay',), ('text/x-clay',)),
     'CleanLexer': ('pygments.lexers.clean', 'Clean', ('clean',), ('*.icl', '*.dcl'), ()),
-    'ClojureLexer': ('pygments.lexers.jvm', 'Clojure', ('clojure', 'clj'), ('*.clj',), ('text/x-clojure', 'application/x-clojure')),
+    'ClojureLexer': ('pygments.lexers.jvm', 'Clojure', ('clojure', 'clj'), ('*.clj', '*.cljc'), ('text/x-clojure', 'application/x-clojure')),
     'ClojureScriptLexer': ('pygments.lexers.jvm', 'ClojureScript', ('clojurescript', 'cljs'), ('*.cljs',), ('text/x-clojurescript', 'application/x-clojurescript')),
     'CobolFreeformatLexer': ('pygments.lexers.business', 'COBOLFree', ('cobolfree',), ('*.cbl', '*.CBL'), ()),
     'CobolLexer': ('pygments.lexers.business', 'COBOL', ('cobol',), ('*.cob', '*.COB', '*.cpy', '*.CPY'), ('text/x-cobol',)),
@@ -104,7 +106,8 @@ LEXERS = {
     'CommonLispLexer': ('pygments.lexers.lisp', 'Common Lisp', ('common-lisp', 'cl', 'lisp'), ('*.cl', '*.lisp'), ('text/x-common-lisp',)),
     'ComponentPascalLexer': ('pygments.lexers.oberon', 'Component Pascal', ('componentpascal', 'cp'), ('*.cp', '*.cps'), ('text/x-component-pascal',)),
     'CoqLexer': ('pygments.lexers.theorem', 'Coq', ('coq',), ('*.v',), ('text/x-coq',)),
-    'CppLexer': ('pygments.lexers.c_cpp', 'C++', ('cpp', 'c++'), ('*.cpp', '*.hpp', '*.c++', '*.h++', '*.cc', '*.hh', '*.cxx', '*.hxx', '*.C', '*.H', '*.cp', '*.CPP'), ('text/x-c++hdr', 'text/x-c++src')),
+    'CplintLexer': ('pygments.lexers.cplint', 'cplint', ('cplint',), ('*.ecl', '*.prolog', '*.pro', '*.pl', '*.P', '*.lpad', '*.cpl'), ('text/x-cplint',)),
+    'CppLexer': ('pygments.lexers.c_cpp', 'C++', ('cpp', 'c++'), ('*.cpp', '*.hpp', '*.c++', '*.h++', '*.cc', '*.hh', '*.cxx', '*.hxx', '*.C', '*.H', '*.cp', '*.CPP', '*.tpp'), ('text/x-c++hdr', 'text/x-c++src')),
     'CppObjdumpLexer': ('pygments.lexers.asm', 'cpp-objdump', ('cpp-objdump', 'c++-objdumb', 'cxx-objdump'), ('*.cpp-objdump', '*.c++-objdump', '*.cxx-objdump'), ('text/x-cpp-objdump',)),
     'CrmshLexer': ('pygments.lexers.dsls', 'Crmsh', ('crmsh', 'pcmk'), ('*.crmsh', '*.pcmk'), ()),
     'CrocLexer': ('pygments.lexers.d', 'Croc', ('croc',), ('*.croc',), ('text/x-crocsrc',)),
@@ -113,7 +116,7 @@ LEXERS = {
     'CsoundDocumentLexer': ('pygments.lexers.csound', 'Csound Document', ('csound-document', 'csound-csd'), ('*.csd',), ()),
     'CsoundOrchestraLexer': ('pygments.lexers.csound', 'Csound Orchestra', ('csound', 'csound-orc'), ('*.orc', '*.udo'), ()),
     'CsoundScoreLexer': ('pygments.lexers.csound', 'Csound Score', ('csound-score', 'csound-sco'), ('*.sco',), ()),
-    'CssDjangoLexer': ('pygments.lexers.templates', 'CSS+Django/Jinja', ('css+django', 'css+jinja'), (), ('text/css+django', 'text/css+jinja')),
+    'CssDjangoLexer': ('pygments.lexers.templates', 'CSS+Django/Jinja', ('css+django', 'css+jinja'), ('*.css.j2', '*.css.jinja2'), ('text/css+django', 'text/css+jinja')),
     'CssErbLexer': ('pygments.lexers.templates', 'CSS+Ruby', ('css+ruby', 'css+erb'), (), ('text/css+ruby',)),
     'CssGenshiLexer': ('pygments.lexers.templates', 'CSS+Genshi Text', ('css+genshitext', 'css+genshi'), (), ('text/css+genshi',)),
     'CssLexer': ('pygments.lexers.css', 'CSS', ('css',), ('*.css',), ('text/css',)),
@@ -195,6 +198,7 @@ LEXERS = {
     'GroffLexer': ('pygments.lexers.markup', 'Groff', ('groff', 'nroff', 'man'), ('*.[1-9]', '*.man', '*.1p', '*.3pm'), ('application/x-troff', 'text/troff')),
     'GroovyLexer': ('pygments.lexers.jvm', 'Groovy', ('groovy',), ('*.groovy', '*.gradle'), ('text/x-groovy',)),
     'HLSLShaderLexer': ('pygments.lexers.graphics', 'HLSL', ('hlsl',), ('*.hlsl', '*.hlsli'), ('text/x-hlsl',)),
+    'HTMLUL4Lexer': ('pygments.lexers.ul4', 'HTML+UL4', ('html+ul4',), ('*.htmlul4',), ()),
     'HamlLexer': ('pygments.lexers.html', 'Haml', ('haml',), ('*.haml',), ('text/x-haml',)),
     'HandlebarsHtmlLexer': ('pygments.lexers.templates', 'HTML+Handlebars', ('html+handlebars',), ('*.handlebars', '*.hbs'), ('text/html+handlebars', 'text/x-handlebars-template')),
     'HandlebarsLexer': ('pygments.lexers.templates', 'Handlebars', ('handlebars',), (), ()),
@@ -203,7 +207,7 @@ LEXERS = {
     'HexdumpLexer': ('pygments.lexers.hexdump', 'Hexdump', ('hexdump',), (), ()),
     'HsailLexer': ('pygments.lexers.asm', 'HSAIL', ('hsail', 'hsa'), ('*.hsail',), ('text/x-hsail',)),
     'HspecLexer': ('pygments.lexers.haskell', 'Hspec', ('hspec',), (), ()),
-    'HtmlDjangoLexer': ('pygments.lexers.templates', 'HTML+Django/Jinja', ('html+django', 'html+jinja', 'htmldjango'), (), ('text/html+django', 'text/html+jinja')),
+    'HtmlDjangoLexer': ('pygments.lexers.templates', 'HTML+Django/Jinja', ('html+django', 'html+jinja', 'htmldjango'), ('*.html.j2', '*.htm.j2', '*.xhtml.j2', '*.html.jinja2', '*.htm.jinja2', '*.xhtml.jinja2'), ('text/html+django', 'text/html+jinja')),
     'HtmlGenshiLexer': ('pygments.lexers.templates', 'HTML+Genshi', ('html+genshi', 'html+kid'), (), ('text/html+genshi',)),
     'HtmlLexer': ('pygments.lexers.html', 'HTML', ('html',), ('*.html', '*.htm', '*.xhtml', '*.xslt'), ('text/html', 'application/xhtml+xml')),
     'HtmlPhpLexer': ('pygments.lexers.templates', 'HTML+PHP', ('html+php',), ('*.phtml',), ('application/x-php', 'application/x-httpd-php', 'application/x-httpd-php3', 'application/x-httpd-php4', 'application/x-httpd-php5')),
@@ -229,12 +233,13 @@ LEXERS = {
     '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',)),
-    'JavascriptDjangoLexer': ('pygments.lexers.templates', 'JavaScript+Django/Jinja', ('javascript+django', 'js+django', 'javascript+jinja', 'js+jinja'), (), ('application/x-javascript+django', 'application/x-javascript+jinja', 'text/x-javascript+django', 'text/x-javascript+jinja', 'text/javascript+django', 'text/javascript+jinja')),
+    'JavascriptDjangoLexer': ('pygments.lexers.templates', 'JavaScript+Django/Jinja', ('javascript+django', 'js+django', 'javascript+jinja', 'js+jinja'), ('*.js.j2', '*.js.jinja2'), ('application/x-javascript+django', 'application/x-javascript+jinja', 'text/x-javascript+django', 'text/x-javascript+jinja', 'text/javascript+django', 'text/javascript+jinja')),
     'JavascriptErbLexer': ('pygments.lexers.templates', 'JavaScript+Ruby', ('javascript+ruby', 'js+ruby', 'javascript+erb', 'js+erb'), (), ('application/x-javascript+ruby', 'text/x-javascript+ruby', 'text/javascript+ruby')),
     'JavascriptGenshiLexer': ('pygments.lexers.templates', 'JavaScript+Genshi Text', ('js+genshitext', 'js+genshi', 'javascript+genshitext', 'javascript+genshi'), (), ('application/x-javascript+genshi', 'text/x-javascript+genshi', 'text/javascript+genshi')),
     'JavascriptLexer': ('pygments.lexers.javascript', 'JavaScript', ('javascript', 'js'), ('*.js', '*.jsm', '*.mjs', '*.cjs'), ('application/javascript', 'application/x-javascript', 'text/x-javascript', 'text/javascript')),
     'JavascriptPhpLexer': ('pygments.lexers.templates', 'JavaScript+PHP', ('javascript+php', 'js+php'), (), ('application/x-javascript+php', 'text/x-javascript+php', 'text/javascript+php')),
     'JavascriptSmartyLexer': ('pygments.lexers.templates', 'JavaScript+Smarty', ('javascript+smarty', 'js+smarty'), (), ('application/x-javascript+smarty', 'text/x-javascript+smarty', 'text/javascript+smarty')),
+    'JavascriptUL4Lexer': ('pygments.lexers.ul4', 'Javascript+UL4', ('js+ul4',), ('*.jsul4',), ()),
     'JclLexer': ('pygments.lexers.scripting', 'JCL', ('jcl',), ('*.jcl',), ('text/x-jcl',)),
     'JsgfLexer': ('pygments.lexers.grammar_notation', 'JSGF', ('jsgf',), ('*.jsgf',), ('application/jsgf', 'application/x-jsgf', 'text/jsgf')),
     'JsonBareObjectLexer': ('pygments.lexers.data', 'JSONBareObject', (), (), ()),
@@ -244,6 +249,7 @@ LEXERS = {
     'JuliaConsoleLexer': ('pygments.lexers.julia', 'Julia console', ('jlcon', 'julia-repl'), (), ()),
     'JuliaLexer': ('pygments.lexers.julia', 'Julia', ('julia', 'jl'), ('*.jl',), ('text/x-julia', 'application/x-julia')),
     'JuttleLexer': ('pygments.lexers.javascript', 'Juttle', ('juttle',), ('*.juttle',), ('application/juttle', 'application/x-juttle', 'text/x-juttle', 'text/juttle')),
+    'KLexer': ('pygments.lexers.q', 'K', ('k',), ('*.k',), ()),
     'KalLexer': ('pygments.lexers.javascript', 'Kal', ('kal',), ('*.kal',), ('text/kal', 'application/kal')),
     'KconfigLexer': ('pygments.lexers.configs', 'Kconfig', ('kconfig', 'menuconfig', 'linux-config', 'kernel-config'), ('Kconfig*', '*Config.in*', 'external.in*', 'standard-modules.in'), ('text/x-kconfig',)),
     'KernelLogLexer': ('pygments.lexers.textfmts', 'Kernel log', ('kmsg', 'dmesg'), ('*.kmsg', '*.dmesg'), ()),
@@ -273,9 +279,11 @@ LEXERS = {
     'LogosLexer': ('pygments.lexers.objective', 'Logos', ('logos',), ('*.x', '*.xi', '*.xm', '*.xmi'), ('text/x-logos',)),
     'LogtalkLexer': ('pygments.lexers.prolog', 'Logtalk', ('logtalk',), ('*.lgt', '*.logtalk'), ('text/x-logtalk',)),
     'LuaLexer': ('pygments.lexers.scripting', 'Lua', ('lua',), ('*.lua', '*.wlua'), ('text/x-lua', 'application/x-lua')),
+    'MCFunctionLexer': ('pygments.lexers.mcfunction', 'MCFunction', ('mcfunction', 'mcf'), ('*.mcfunction',), ('text/mcfunction',)),
     'MIMELexer': ('pygments.lexers.mime', 'MIME', ('mime',), (), ('multipart/mixed', 'multipart/related', 'multipart/alternative')),
     'MOOCodeLexer': ('pygments.lexers.scripting', 'MOOCode', ('moocode', 'moo'), ('*.moo',), ('text/x-moocode',)),
     'MSDOSSessionLexer': ('pygments.lexers.shell', 'MSDOS Session', ('doscon',), (), ()),
+    'Macaulay2Lexer': ('pygments.lexers.macaulay2', 'Macaulay2', ('macaulay2',), ('*.m2',), ()),
     'MakefileLexer': ('pygments.lexers.make', 'Makefile', ('make', 'makefile', 'mf', 'bsdmake'), ('*.mak', '*.mk', 'Makefile', 'makefile', 'Makefile.*', 'GNUmakefile'), ('text/x-makefile',)),
     'MakoCssLexer': ('pygments.lexers.templates', 'CSS+Mako', ('css+mako',), (), ('text/css+mako',)),
     'MakoHtmlLexer': ('pygments.lexers.templates', 'HTML+Mako', ('html+mako',), (), ('text/html+mako',)),
@@ -379,8 +387,11 @@ LEXERS = {
     'PythonConsoleLexer': ('pygments.lexers.python', 'Python console session', ('pycon',), (), ('text/x-python-doctest',)),
     'PythonLexer': ('pygments.lexers.python', 'Python', ('python', 'py', 'sage', 'python3', 'py3'), ('*.py', '*.pyw', '*.jy', '*.sage', '*.sc', 'SConstruct', 'SConscript', '*.bzl', 'BUCK', 'BUILD', 'BUILD.bazel', 'WORKSPACE', '*.tac'), ('text/x-python', 'application/x-python', 'text/x-python3', 'application/x-python3')),
     'PythonTracebackLexer': ('pygments.lexers.python', 'Python Traceback', ('pytb', 'py3tb'), ('*.pytb', '*.py3tb'), ('text/x-python-traceback', 'text/x-python3-traceback')),
+    'PythonUL4Lexer': ('pygments.lexers.ul4', 'Python+UL4', ('py+ul4',), ('*.pyul4',), ()),
     'QBasicLexer': ('pygments.lexers.basic', 'QBasic', ('qbasic', 'basic'), ('*.BAS', '*.bas'), ('text/basic',)),
+    'QLexer': ('pygments.lexers.q', 'Q', ('q',), ('*.q',), ()),
     'QVToLexer': ('pygments.lexers.qvt', 'QVTO', ('qvto', 'qvt'), ('*.qvto',), ()),
+    'QlikLexer': ('pygments.lexers.qlik', 'Qlik', ('qlik', 'qlikview', 'qliksense', 'qlikscript'), ('*.qvs', '*.qvw'), ()),
     'QmlLexer': ('pygments.lexers.webmisc', 'QML', ('qml', 'qbs'), ('*.qml', '*.qbs'), ('application/x-qml', 'application/x-qt.qbs+qml')),
     'RConsoleLexer': ('pygments.lexers.r', 'RConsole', ('rconsole', 'rout'), ('*.Rout',), ()),
     'RNCCompactLexer': ('pygments.lexers.rnc', 'Relax-NG Compact', ('rng-compact', 'rnc'), ('*.rnc',), ()),
@@ -408,7 +419,7 @@ LEXERS = {
     'RitaLexer': ('pygments.lexers.rita', 'Rita', ('rita',), ('*.rita',), ('text/rita',)),
     'RoboconfGraphLexer': ('pygments.lexers.roboconf', 'Roboconf Graph', ('roboconf-graph',), ('*.graph',), ()),
     'RoboconfInstancesLexer': ('pygments.lexers.roboconf', 'Roboconf Instances', ('roboconf-instances',), ('*.instances',), ()),
-    'RobotFrameworkLexer': ('pygments.lexers.robotframework', 'RobotFramework', ('robotframework',), ('*.robot',), ('text/x-robotframework',)),
+    'RobotFrameworkLexer': ('pygments.lexers.robotframework', 'RobotFramework', ('robotframework',), ('*.robot', '*.resource'), ('text/x-robotframework',)),
     'RqlLexer': ('pygments.lexers.sql', 'RQL', ('rql',), ('*.rql',), ('text/x-rql',)),
     'RslLexer': ('pygments.lexers.dsls', 'RSL', ('rsl',), ('*.rsl',), ('text/rsl',)),
     'RstLexer': ('pygments.lexers.markup', 'reStructuredText', ('restructuredtext', 'rst', 'rest'), ('*.rst', '*.rest'), ('text/x-rst', 'text/prs.fallenstein.rst')),
@@ -419,6 +430,7 @@ LEXERS = {
     'SASLexer': ('pygments.lexers.sas', 'SAS', ('sas',), ('*.SAS', '*.sas'), ('text/x-sas', 'text/sas', 'application/x-sas')),
     'SLexer': ('pygments.lexers.r', 'S', ('splus', 's', 'r'), ('*.S', '*.R', '.Rhistory', '.Rprofile', '.Renviron'), ('text/S-plus', 'text/S', 'text/x-r-source', 'text/x-r', 'text/x-R', 'text/x-r-history', 'text/x-r-profile')),
     'SMLLexer': ('pygments.lexers.ml', 'Standard ML', ('sml',), ('*.sml', '*.sig', '*.fun'), ('text/x-standardml', 'application/x-standardml')),
+    'SNBTLexer': ('pygments.lexers.mcfunction', 'SNBT', ('snbt',), ('*.snbt',), ('text/snbt',)),
     'SarlLexer': ('pygments.lexers.jvm', 'SARL', ('sarl',), ('*.sarl',), ('text/x-sarl',)),
     'SassLexer': ('pygments.lexers.css', 'Sass', ('sass',), ('*.sass',), ('text/x-sass',)),
     'SaviLexer': ('pygments.lexers.savi', 'Savi', ('savi',), ('*.savi',), ()),
@@ -465,6 +477,7 @@ LEXERS = {
     'TNTLexer': ('pygments.lexers.tnt', 'Typographic Number Theory', ('tnt',), ('*.tnt',), ()),
     'TOMLLexer': ('pygments.lexers.configs', 'TOML', ('toml',), ('*.toml', 'Pipfile', 'poetry.lock'), ()),
     'Tads3Lexer': ('pygments.lexers.int_fiction', 'TADS 3', ('tads3',), ('*.t',), ()),
+    'TalLexer': ('pygments.lexers.tal', 'Tal', ('tal', 'uxntal'), ('*.tal',), ('text/x-uxntal',)),
     'TasmLexer': ('pygments.lexers.asm', 'TASM', ('tasm',), ('*.asm', '*.ASM', '*.tasm'), ('text/x-tasm',)),
     'TclLexer': ('pygments.lexers.tcl', 'Tcl', ('tcl',), ('*.tcl', '*.rvt'), ('text/x-tcl', 'text/x-script.tcl', 'application/x-tcl')),
     'TcshLexer': ('pygments.lexers.shell', 'Tcsh', ('tcsh', 'csh'), ('*.tcsh', '*.csh'), ('application/x-csh',)),
@@ -490,8 +503,10 @@ LEXERS = {
     'TypoScriptCssDataLexer': ('pygments.lexers.typoscript', 'TypoScriptCssData', ('typoscriptcssdata',), (), ()),
     'TypoScriptHtmlDataLexer': ('pygments.lexers.typoscript', 'TypoScriptHtmlData', ('typoscripthtmldata',), (), ()),
     'TypoScriptLexer': ('pygments.lexers.typoscript', 'TypoScript', ('typoscript',), ('*.typoscript',), ('text/x-typoscript',)),
+    'UL4Lexer': ('pygments.lexers.ul4', 'UL4', ('ul4',), ('*.ul4',), ()),
     'UcodeLexer': ('pygments.lexers.unicon', 'ucode', ('ucode',), ('*.u', '*.u1', '*.u2'), ()),
     'UniconLexer': ('pygments.lexers.unicon', 'Unicon', ('unicon',), ('*.icn',), ('text/unicon',)),
+    'UnixConfigLexer': ('pygments.lexers.configs', 'Unix/Linux config files', ('unixconfig', 'linuxconfig'), (), ()),
     'UrbiscriptLexer': ('pygments.lexers.urbi', 'UrbiScript', ('urbiscript',), ('*.u',), ('application/x-urbiscript',)),
     'UsdLexer': ('pygments.lexers.usd', 'USD', ('usd', 'usda'), ('*.usd', '*.usda'), ()),
     'VBScriptLexer': ('pygments.lexers.basic', 'VBScript', ('vbscript',), ('*.vbs', '*.VBS'), ()),
@@ -513,8 +528,9 @@ LEXERS = {
     'WebIDLLexer': ('pygments.lexers.webidl', 'Web IDL', ('webidl',), ('*.webidl',), ()),
     'WhileyLexer': ('pygments.lexers.whiley', 'Whiley', ('whiley',), ('*.whiley',), ('text/x-whiley',)),
     'X10Lexer': ('pygments.lexers.x10', 'X10', ('x10', 'xten'), ('*.x10',), ('text/x-x10',)),
+    'XMLUL4Lexer': ('pygments.lexers.ul4', 'XML+UL4', ('xml+ul4',), ('*.xmlul4',), ()),
     'XQueryLexer': ('pygments.lexers.webmisc', 'XQuery', ('xquery', 'xqy', 'xq', 'xql', 'xqm'), ('*.xqy', '*.xquery', '*.xq', '*.xql', '*.xqm'), ('text/xquery', 'application/xquery')),
-    'XmlDjangoLexer': ('pygments.lexers.templates', 'XML+Django/Jinja', ('xml+django', 'xml+jinja'), (), ('application/xml+django', 'application/xml+jinja')),
+    'XmlDjangoLexer': ('pygments.lexers.templates', 'XML+Django/Jinja', ('xml+django', 'xml+jinja'), ('*.xml.j2', '*.xml.jinja2'), ('application/xml+django', 'application/xml+jinja')),
     'XmlErbLexer': ('pygments.lexers.templates', 'XML+Ruby', ('xml+ruby', 'xml+erb'), (), ('application/xml+ruby',)),
     'XmlLexer': ('pygments.lexers.html', 'XML', ('xml',), ('*.xml', '*.xsl', '*.rss', '*.xslt', '*.xsd', '*.wsdl', '*.wsf'), ('text/xml', 'application/xml', 'image/svg+xml', 'application/rss+xml', 'application/atom+xml')),
     'XmlPhpLexer': ('pygments.lexers.templates', 'XML+PHP', ('xml+php',), (), ('application/xml+php',)),
@@ -523,7 +539,7 @@ LEXERS = {
     'XsltLexer': ('pygments.lexers.html', 'XSLT', ('xslt',), ('*.xsl', '*.xslt', '*.xpl'), ('application/xsl+xml', 'application/xslt+xml')),
     'XtendLexer': ('pygments.lexers.jvm', 'Xtend', ('xtend',), ('*.xtend',), ('text/x-xtend',)),
     'XtlangLexer': ('pygments.lexers.lisp', 'xtlang', ('extempore',), ('*.xtm',), ()),
-    'YamlJinjaLexer': ('pygments.lexers.templates', 'YAML+Jinja', ('yaml+jinja', 'salt', 'sls'), ('*.sls',), ('text/x-yaml+jinja', 'text/x-sls')),
+    'YamlJinjaLexer': ('pygments.lexers.templates', 'YAML+Jinja', ('yaml+jinja', 'salt', 'sls'), ('*.sls', '*.yaml.j2', '*.yml.j2', '*.yaml.jinja2', '*.yml.jinja2'), ('text/x-yaml+jinja', 'text/x-sls')),
     'YamlLexer': ('pygments.lexers.data', 'YAML', ('yaml',), ('*.yaml', '*.yml'), ('text/x-yaml',)),
     'YangLexer': ('pygments.lexers.yang', 'YANG', ('yang',), ('*.yang',), ('application/yang',)),
     'ZeekLexer': ('pygments.lexers.dsls', 'Zeek', ('zeek', 'bro'), ('*.zeek', '*.bro'), ()),
@@ -563,7 +579,7 @@ if __name__ == '__main__':  # pragma: no cover
         content = fp.read()
         # replace crnl to nl for Windows.
         #
-        # Note that, originally, contributers should keep nl of master
+        # Note that, originally, contributors should keep nl of master
         # repository, for example by using some kind of automatic
         # management EOL, like `EolExtension
         #  <https://www.mercurial-scm.org/wiki/EolExtension>`.
index 5cc50a940b107406e65643c6ee7a65de0514e0e0..3af29ebfc18fb4f43ae4491587a733316a53da3f 100644 (file)
@@ -4,7 +4,7 @@
 
     Builtins for the MqlLexer.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 types = (
index dfc82bccea1102b885338593ee01a0f15f2fa903..d266789cae81f71ef6da1142dbf8fd0a62771f74 100644 (file)
@@ -4,7 +4,9 @@
 
     Self-updating data files for the MySQL lexer.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    Run with `python -I` to update.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -132,6 +134,7 @@ MYSQL_FUNCTIONS = (
     'can_access_routine',
     'can_access_table',
     'can_access_trigger',
+    'can_access_user',
     'can_access_view',
     'cast',
     'ceil',
@@ -182,6 +185,7 @@ MYSQL_FUNCTIONS = (
     'get_dd_index_private_data',
     'get_dd_index_sub_part_length',
     'get_dd_property_key_value',
+    'get_dd_schema_options',
     'get_dd_tablespace_private_data',
     'get_lock',
     'greatest',
@@ -346,6 +350,7 @@ MYSQL_FUNCTIONS = (
     'sin',
     'sleep',
     'soundex',
+    'source_pos_wait',
     'space',
     'sqrt',
     'st_area',
@@ -357,6 +362,7 @@ MYSQL_FUNCTIONS = (
     'st_buffer',
     'st_buffer_strategy',
     'st_centroid',
+    'st_collect',
     'st_contains',
     'st_convexhull',
     'st_crosses',
@@ -369,6 +375,7 @@ MYSQL_FUNCTIONS = (
     'st_envelope',
     'st_equals',
     'st_exteriorring',
+    'st_frechetdistance',
     'st_geohash',
     'st_geomcollfromtext',
     'st_geomcollfromtxt',
@@ -382,6 +389,7 @@ MYSQL_FUNCTIONS = (
     'st_geomfromgeojson',
     'st_geomfromtext',
     'st_geomfromwkb',
+    'st_hausdorffdistance',
     'st_interiorringn',
     'st_intersection',
     'st_intersects',
@@ -394,6 +402,8 @@ MYSQL_FUNCTIONS = (
     'st_length',
     'st_linefromtext',
     'st_linefromwkb',
+    'st_lineinterpolatepoint',
+    'st_lineinterpolatepoints',
     'st_linestringfromtext',
     'st_linestringfromwkb',
     'st_longfromgeohash',
@@ -416,6 +426,7 @@ MYSQL_FUNCTIONS = (
     'st_numinteriorrings',
     'st_numpoints',
     'st_overlaps',
+    'st_pointatdistance',
     'st_pointfromgeohash',
     'st_pointfromtext',
     'st_pointfromwkb',
@@ -486,6 +497,7 @@ MYSQL_FUNCTIONS = (
 MYSQL_OPTIMIZER_HINTS = (
     'bka',
     'bnl',
+    'derived_condition_pushdown',
     'dupsweedout',
     'firstmatch',
     'group_index',
@@ -505,6 +517,7 @@ MYSQL_OPTIMIZER_HINTS = (
     'mrr',
     'no_bka',
     'no_bnl',
+    'no_derived_condition_pushdown',
     'no_group_index',
     'no_hash_join',
     'no_icp',
@@ -549,8 +562,10 @@ MYSQL_KEYWORDS = (
     'asc',
     'ascii',
     'asensitive',
+    'assign_gtids_to_anonymous_transactions',
     'at',
     'attribute',
+    'authentication',
     'auto_increment',
     'autoextend_size',
     'avg',
@@ -573,6 +588,7 @@ MYSQL_KEYWORDS = (
     'case',
     'catalog_name',
     'chain',
+    'challenge_response',
     'change',
     'changed',
     'channel',
@@ -694,6 +710,7 @@ MYSQL_KEYWORDS = (
     'export',
     'extended',
     'extent_size',
+    'factor',
     'failed_login_attempts',
     'false',
     'fast',
@@ -703,6 +720,7 @@ MYSQL_KEYWORDS = (
     'file',
     'file_block_size',
     'filter',
+    'finish',
     'first',
     'first_value',
     'flush',
@@ -723,6 +741,7 @@ MYSQL_KEYWORDS = (
     'get',
     'get_format',
     'get_master_public_key',
+    'get_source_public_key',
     'global',
     'grant',
     'grants',
@@ -730,6 +749,7 @@ MYSQL_KEYWORDS = (
     'group_replication',
     'grouping',
     'groups',
+    'gtid_only',
     'handler',
     'hash',
     'having',
@@ -753,7 +773,9 @@ MYSQL_KEYWORDS = (
     'index',
     'indexes',
     'infile',
+    'initial',
     'initial_size',
+    'initiate',
     'inner',
     'inout',
     'insensitive',
@@ -779,6 +801,7 @@ MYSQL_KEYWORDS = (
     'json_value',
     'key',
     'key_block_size',
+    'keyring',
     'keys',
     'kill',
     'lag',
@@ -823,7 +846,6 @@ MYSQL_KEYWORDS = (
     'master_port',
     'master_public_key_path',
     'master_retry_count',
-    'master_server_id',
     'master_ssl',
     'master_ssl_ca',
     'master_ssl_capath',
@@ -961,6 +983,7 @@ MYSQL_KEYWORDS = (
     'reference',
     'references',
     'regexp',
+    'registration',
     'relay',
     'relay_log_file',
     'relay_log_pos',
@@ -975,6 +998,8 @@ MYSQL_KEYWORDS = (
     'repeat',
     'repeatable',
     'replace',
+    'replica',
+    'replicas',
     'replicate_do_db',
     'replicate_do_table',
     'replicate_ignore_db',
@@ -1049,6 +1074,33 @@ MYSQL_KEYWORDS = (
     'soname',
     'sounds',
     'source',
+    'source_auto_position',
+    'source_bind',
+    'source_compression_algorithms',
+    'source_connect_retry',
+    'source_connection_auto_failover',
+    'source_delay',
+    'source_heartbeat_period',
+    'source_host',
+    'source_log_file',
+    'source_log_pos',
+    'source_password',
+    'source_port',
+    'source_public_key_path',
+    'source_retry_count',
+    'source_ssl',
+    'source_ssl_ca',
+    'source_ssl_capath',
+    'source_ssl_cert',
+    'source_ssl_cipher',
+    'source_ssl_crl',
+    'source_ssl_crlpath',
+    'source_ssl_key',
+    'source_ssl_verify_server_cert',
+    'source_tls_ciphersuites',
+    'source_tls_version',
+    'source_user',
+    'source_zstd_compression_level',
     'spatial',
     'specific',
     'sql',
@@ -1133,6 +1185,7 @@ MYSQL_KEYWORDS = (
     'unique',
     'unknown',
     'unlock',
+    'unregister',
     'unsigned',
     'until',
     'update',
@@ -1174,6 +1227,7 @@ MYSQL_KEYWORDS = (
     'xor',
     'year_month',
     'zerofill',
+    'zone',
 )
 
 
index 43611b29d01526ea435803d5f324336f4997f128..dee62a963cf195ab9ad65528288560daf8dbc337 100644 (file)
@@ -4,7 +4,7 @@
 
     Builtin list for the OpenEdgeLexer.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 168cb4460b117724811d7307f0fb235b919a4aad..a899f1d1f84060884cdd804a0f9c3f3bd5860e69 100644 (file)
@@ -5,71 +5,31 @@
     This file loads the function names and their modules from the
     php webpage and generates itself.
 
-    Do not alter the MODULES dict by hand!
+    Run with `python -I` to regenerate.
 
-    WARNING: the generation transfers quite much data over your
-             internet connection. don't run that at home, use
-             a server ;-)
-
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
-MODULES = {'.NET': ('dotnet_load',),
- 'APC': ('apc_add',
-         'apc_bin_dump',
-         'apc_bin_dumpfile',
-         'apc_bin_load',
-         'apc_bin_loadfile',
-         'apc_cache_info',
-         'apc_cas',
-         'apc_clear_cache',
-         'apc_compile_file',
-         'apc_dec',
-         'apc_define_constants',
-         'apc_delete_file',
-         'apc_delete',
-         'apc_exists',
-         'apc_fetch',
-         'apc_inc',
-         'apc_load_constants',
-         'apc_sma_info',
-         'apc_store'),
- 'APD': ('apd_breakpoint',
-         'apd_callstack',
-         'apd_clunk',
-         'apd_continue',
-         'apd_croak',
-         'apd_dump_function_table',
-         'apd_dump_persistent_resources',
-         'apd_dump_regular_resources',
-         'apd_echo',
-         'apd_get_active_symbols',
-         'apd_set_pprof_trace',
-         'apd_set_session_trace_socket',
-         'apd_set_session_trace',
-         'apd_set_session',
-         'override_function',
-         'rename_function'),
- 'Aliases and deprecated Mysqli': ('mysqli_bind_param',
-                                   'mysqli_bind_result',
-                                   'mysqli_client_encoding',
-                                   'mysqli_connect',
-                                   'mysqli_disable_rpl_parse',
-                                   'mysqli_enable_reads_from_master',
-                                   'mysqli_enable_rpl_parse',
-                                   'mysqli_escape_string',
+MODULES = {'APCu': ('apcu_add',
+          'apcu_cache_info',
+          'apcu_cas',
+          'apcu_clear_cache',
+          'apcu_dec',
+          'apcu_delete',
+          'apcu_enabled',
+          'apcu_entry',
+          'apcu_exists',
+          'apcu_fetch',
+          'apcu_inc',
+          'apcu_key_info',
+          'apcu_sma_info',
+          'apcu_store'),
+ 'Aliases and deprecated Mysqli': ('mysqli_connect',
                                    'mysqli_execute',
-                                   'mysqli_fetch',
-                                   'mysqli_get_cache_stats',
-                                   'mysqli_get_metadata',
-                                   'mysqli_master_query',
-                                   'mysqli_param_count',
-                                   'mysqli_report',
-                                   'mysqli_rpl_parse_enabled',
-                                   'mysqli_rpl_probe',
-                                   'mysqli_send_long_data',
-                                   'mysqli_slave_query'),
+                                   'mysqli_get_client_stats',
+                                   'mysqli_get_links_stats',
+                                   'mysqli_report'),
  'Apache': ('apache_child_terminate',
             'apache_get_modules',
             'apache_get_version',
@@ -77,7 +37,6 @@ MODULES = {'.NET': ('dotnet_load',),
             'apache_lookup_uri',
             'apache_note',
             'apache_request_headers',
-            'apache_reset_timeout',
             'apache_response_headers',
             'apache_setenv',
             'getallheaders',
@@ -101,7 +60,10 @@ MODULES = {'.NET': ('dotnet_load',),
            'array_intersect_uassoc',
            'array_intersect_ukey',
            'array_intersect',
+           'array_is_list',
            'array_key_exists',
+           'array_key_first',
+           'array_key_last',
            'array_keys',
            'array_map',
            'array_merge_recursive',
@@ -161,13 +123,6 @@ MODULES = {'.NET': ('dotnet_load',),
            'uasort',
            'uksort',
            'usort'),
- 'BBCode': ('bbcode_add_element',
-            'bbcode_add_smiley',
-            'bbcode_create',
-            'bbcode_destroy',
-            'bbcode_parse',
-            'bbcode_set_arg_parser',
-            'bbcode_set_flags'),
  'BC Math': ('bcadd',
              'bccomp',
              'bcdiv',
@@ -178,7 +133,6 @@ MODULES = {'.NET': ('dotnet_load',),
              'bcscale',
              'bcsqrt',
              'bcsub'),
- 'Blenc': ('blenc_encrypt',),
  'Bzip2': ('bzclose',
            'bzcompress',
            'bzdecompress',
@@ -189,22 +143,12 @@ MODULES = {'.NET': ('dotnet_load',),
            'bzopen',
            'bzread',
            'bzwrite'),
- 'COM': ('com_addref',
-         'com_create_guid',
+ 'COM': ('com_create_guid',
          'com_event_sink',
          'com_get_active_object',
-         'com_get',
-         'com_invoke',
-         'com_isenum',
          'com_load_typelib',
-         'com_load',
          'com_message_pump',
          'com_print_typeinfo',
-         'com_propget',
-         'com_propput',
-         'com_propset',
-         'com_release',
-         'com_set',
          'variant_abs',
          'variant_add',
          'variant_and',
@@ -231,6 +175,7 @@ MODULES = {'.NET': ('dotnet_load',),
          'variant_set',
          'variant_sub',
          'variant_xor'),
+ 'CSPRNG': ('random_bytes', 'random_int'),
  'CUBRID': ('cubrid_bind',
             'cubrid_close_prepare',
             'cubrid_close_request',
@@ -299,124 +244,28 @@ MODULES = {'.NET': ('dotnet_load',),
             'cubrid_set_drop',
             'cubrid_set_query_timeout',
             'cubrid_version'),
- 'Cairo': ('cairo_create',
-           'cairo_font_face_get_type',
-           'cairo_font_face_status',
-           'cairo_font_options_create',
-           'cairo_font_options_equal',
-           'cairo_font_options_get_antialias',
-           'cairo_font_options_get_hint_metrics',
-           'cairo_font_options_get_hint_style',
-           'cairo_font_options_get_subpixel_order',
-           'cairo_font_options_hash',
-           'cairo_font_options_merge',
-           'cairo_font_options_set_antialias',
-           'cairo_font_options_set_hint_metrics',
-           'cairo_font_options_set_hint_style',
-           'cairo_font_options_set_subpixel_order',
-           'cairo_font_options_status',
-           'cairo_format_stride_for_width',
-           'cairo_image_surface_create_for_data',
-           'cairo_image_surface_create_from_png',
-           'cairo_image_surface_create',
-           'cairo_image_surface_get_data',
-           'cairo_image_surface_get_format',
-           'cairo_image_surface_get_height',
-           'cairo_image_surface_get_stride',
-           'cairo_image_surface_get_width',
-           'cairo_matrix_create_scale',
-           'cairo_matrix_create_translate',
-           'cairo_matrix_invert',
-           'cairo_matrix_multiply',
-           'cairo_matrix_rotate',
-           'cairo_matrix_transform_distance',
-           'cairo_matrix_transform_point',
-           'cairo_matrix_translate',
-           'cairo_pattern_add_color_stop_rgb',
-           'cairo_pattern_add_color_stop_rgba',
-           'cairo_pattern_create_for_surface',
-           'cairo_pattern_create_linear',
-           'cairo_pattern_create_radial',
-           'cairo_pattern_create_rgb',
-           'cairo_pattern_create_rgba',
-           'cairo_pattern_get_color_stop_count',
-           'cairo_pattern_get_color_stop_rgba',
-           'cairo_pattern_get_extend',
-           'cairo_pattern_get_filter',
-           'cairo_pattern_get_linear_points',
-           'cairo_pattern_get_matrix',
-           'cairo_pattern_get_radial_circles',
-           'cairo_pattern_get_rgba',
-           'cairo_pattern_get_surface',
-           'cairo_pattern_get_type',
-           'cairo_pattern_set_extend',
-           'cairo_pattern_set_filter',
-           'cairo_pattern_set_matrix',
-           'cairo_pattern_status',
-           'cairo_pdf_surface_create',
-           'cairo_pdf_surface_set_size',
-           'cairo_ps_get_levels',
-           'cairo_ps_level_to_string',
-           'cairo_ps_surface_create',
-           'cairo_ps_surface_dsc_begin_page_setup',
-           'cairo_ps_surface_dsc_begin_setup',
-           'cairo_ps_surface_dsc_comment',
-           'cairo_ps_surface_get_eps',
-           'cairo_ps_surface_restrict_to_level',
-           'cairo_ps_surface_set_eps',
-           'cairo_ps_surface_set_size',
-           'cairo_scaled_font_create',
-           'cairo_scaled_font_extents',
-           'cairo_scaled_font_get_ctm',
-           'cairo_scaled_font_get_font_face',
-           'cairo_scaled_font_get_font_matrix',
-           'cairo_scaled_font_get_font_options',
-           'cairo_scaled_font_get_scale_matrix',
-           'cairo_scaled_font_get_type',
-           'cairo_scaled_font_glyph_extents',
-           'cairo_scaled_font_status',
-           'cairo_scaled_font_text_extents',
-           'cairo_surface_copy_page',
-           'cairo_surface_create_similar',
-           'cairo_surface_finish',
-           'cairo_surface_flush',
-           'cairo_surface_get_content',
-           'cairo_surface_get_device_offset',
-           'cairo_surface_get_font_options',
-           'cairo_surface_get_type',
-           'cairo_surface_mark_dirty_rectangle',
-           'cairo_surface_mark_dirty',
-           'cairo_surface_set_device_offset',
-           'cairo_surface_set_fallback_resolution',
-           'cairo_surface_show_page',
-           'cairo_surface_status',
-           'cairo_surface_write_to_png',
-           'cairo_svg_surface_create',
-           'cairo_svg_surface_restrict_to_version',
-           'cairo_svg_version_to_string'),
  'Calendar': ('cal_days_in_month',
               'cal_from_jd',
               'cal_info',
               'cal_to_jd',
               'easter_date',
               'easter_days',
-              'FrenchToJD',
-              'GregorianToJD',
-              'JDDayOfWeek',
-              'JDMonthName',
-              'JDToFrench',
-              'JDToGregorian',
+              'frenchtojd',
+              'gregoriantojd',
+              'jddayofweek',
+              'jdmonthname',
+              'jdtofrench',
+              'jdtogregorian',
               'jdtojewish',
-              'JDToJulian',
+              'jdtojulian',
               'jdtounix',
-              'JewishToJD',
-              'JulianToJD',
+              'jewishtojd',
+              'juliantojd',
               'unixtojd'),
  'Classes/Object': ('__autoload',
-                    'call_user_method_array',
-                    'call_user_method',
                     'class_alias',
                     'class_exists',
+                    'enum_exists',
                     'get_called_class',
                     'get_class_methods',
                     'get_class_vars',
@@ -424,6 +273,7 @@ MODULES = {'.NET': ('dotnet_load',),
                     'get_declared_classes',
                     'get_declared_interfaces',
                     'get_declared_traits',
+                    'get_mangled_object_vars',
                     'get_object_vars',
                     'get_parent_class',
                     'interface_exists',
@@ -432,16 +282,6 @@ MODULES = {'.NET': ('dotnet_load',),
                     'method_exists',
                     'property_exists',
                     'trait_exists'),
- 'Classkit': ('classkit_import',
-              'classkit_method_add',
-              'classkit_method_copy',
-              'classkit_method_redefine',
-              'classkit_method_remove',
-              'classkit_method_rename'),
- 'Crack': ('crack_check',
-           'crack_closedict',
-           'crack_getlastmessage',
-           'crack_opendict'),
  'Ctype': ('ctype_alnum',
            'ctype_alpha',
            'ctype_cntrl',
@@ -453,59 +293,6 @@ MODULES = {'.NET': ('dotnet_load',),
            'ctype_space',
            'ctype_upper',
            'ctype_xdigit'),
- 'Cyrus': ('cyrus_authenticate',
-           'cyrus_bind',
-           'cyrus_close',
-           'cyrus_connect',
-           'cyrus_query',
-           'cyrus_unbind'),
- 'DB++': ('dbplus_add',
-          'dbplus_aql',
-          'dbplus_chdir',
-          'dbplus_close',
-          'dbplus_curr',
-          'dbplus_errcode',
-          'dbplus_errno',
-          'dbplus_find',
-          'dbplus_first',
-          'dbplus_flush',
-          'dbplus_freealllocks',
-          'dbplus_freelock',
-          'dbplus_freerlocks',
-          'dbplus_getlock',
-          'dbplus_getunique',
-          'dbplus_info',
-          'dbplus_last',
-          'dbplus_lockrel',
-          'dbplus_next',
-          'dbplus_open',
-          'dbplus_prev',
-          'dbplus_rchperm',
-          'dbplus_rcreate',
-          'dbplus_rcrtexact',
-          'dbplus_rcrtlike',
-          'dbplus_resolve',
-          'dbplus_restorepos',
-          'dbplus_rkeys',
-          'dbplus_ropen',
-          'dbplus_rquery',
-          'dbplus_rrename',
-          'dbplus_rsecindex',
-          'dbplus_runlink',
-          'dbplus_rzap',
-          'dbplus_savepos',
-          'dbplus_setindex',
-          'dbplus_setindexbynumber',
-          'dbplus_sql',
-          'dbplus_tcl',
-          'dbplus_tremove',
-          'dbplus_undo',
-          'dbplus_undoprepare',
-          'dbplus_unlockrel',
-          'dbplus_unselect',
-          'dbplus_update',
-          'dbplus_xlockrel',
-          'dbplus_xunlockrel'),
  'DBA': ('dba_close',
          'dba_delete',
          'dba_exists',
@@ -654,23 +441,28 @@ MODULES = {'.NET': ('dotnet_load',),
              'enchant_broker_dict_exists',
              'enchant_broker_free_dict',
              'enchant_broker_free',
+             'enchant_broker_get_dict_path',
              'enchant_broker_get_error',
              'enchant_broker_init',
              'enchant_broker_list_dicts',
              'enchant_broker_request_dict',
              'enchant_broker_request_pwl_dict',
+             'enchant_broker_set_dict_path',
              'enchant_broker_set_ordering',
              'enchant_dict_add_to_personal',
              'enchant_dict_add_to_session',
+             'enchant_dict_add',
              'enchant_dict_check',
              'enchant_dict_describe',
              'enchant_dict_get_error',
+             'enchant_dict_is_added',
              'enchant_dict_is_in_session',
              'enchant_dict_quick_check',
              'enchant_dict_store_replacement',
              'enchant_dict_suggest'),
  'Error Handling': ('debug_backtrace',
                     'debug_print_backtrace',
+                    'error_clear_last',
                     'error_get_last',
                     'error_log',
                     'error_reporting',
@@ -686,16 +478,6 @@ MODULES = {'.NET': ('dotnet_load',),
           'exif_thumbnail',
           'read_exif_data'),
  'Expect': ('expect_expectl', 'expect_popen'),
- 'FAM': ('fam_cancel_monitor',
-         'fam_close',
-         'fam_monitor_collection',
-         'fam_monitor_directory',
-         'fam_monitor_file',
-         'fam_next_event',
-         'fam_open',
-         'fam_pending',
-         'fam_resume_monitor',
-         'fam_suspend_monitor'),
  'FDF': ('fdf_add_doc_javascript',
          'fdf_add_template',
          'fdf_close',
@@ -733,6 +515,7 @@ MODULES = {'.NET': ('dotnet_load',),
          'fdf_set_version'),
  'FPM': ('fastcgi_finish_request',),
  'FTP': ('ftp_alloc',
+         'ftp_append',
          'ftp_cdup',
          'ftp_chdir',
          'ftp_chmod',
@@ -747,6 +530,7 @@ MODULES = {'.NET': ('dotnet_load',),
          'ftp_login',
          'ftp_mdtm',
          'ftp_mkdir',
+         'ftp_mlsd',
          'ftp_nb_continue',
          'ftp_nb_fget',
          'ftp_nb_fput',
@@ -924,6 +708,7 @@ MODULES = {'.NET': ('dotnet_load',),
                 'disk_total_space',
                 'diskfreespace',
                 'fclose',
+                'fdatasync',
                 'feof',
                 'fflush',
                 'fgetc',
@@ -953,6 +738,7 @@ MODULES = {'.NET': ('dotnet_load',),
                 'fscanf',
                 'fseek',
                 'fstat',
+                'fsync',
                 'ftell',
                 'ftruncate',
                 'fwrite',
@@ -1000,7 +786,55 @@ MODULES = {'.NET': ('dotnet_load',),
             'filter_list',
             'filter_var_array',
             'filter_var'),
- 'Firebird/InterBase': ('ibase_add_user',
+ 'Firebird/InterBase': ('fbird_add_user',
+                        'fbird_affected_rows',
+                        'fbird_backup',
+                        'fbird_blob_add',
+                        'fbird_blob_cancel',
+                        'fbird_blob_close',
+                        'fbird_blob_create',
+                        'fbird_blob_echo',
+                        'fbird_blob_get',
+                        'fbird_blob_import',
+                        'fbird_blob_info',
+                        'fbird_blob_open',
+                        'fbird_close',
+                        'fbird_commit_ret',
+                        'fbird_commit',
+                        'fbird_connect',
+                        'fbird_db_info',
+                        'fbird_delete_user',
+                        'fbird_drop_db',
+                        'fbird_errcode',
+                        'fbird_errmsg',
+                        'fbird_execute',
+                        'fbird_fetch_assoc',
+                        'fbird_fetch_object',
+                        'fbird_fetch_row',
+                        'fbird_field_info',
+                        'fbird_free_event_handler',
+                        'fbird_free_query',
+                        'fbird_free_result',
+                        'fbird_gen_id',
+                        'fbird_maintain_db',
+                        'fbird_modify_user',
+                        'fbird_name_result',
+                        'fbird_num_fields',
+                        'fbird_num_params',
+                        'fbird_param_info',
+                        'fbird_pconnect',
+                        'fbird_prepare',
+                        'fbird_query',
+                        'fbird_restore',
+                        'fbird_rollback_ret',
+                        'fbird_rollback',
+                        'fbird_server_info',
+                        'fbird_service_attach',
+                        'fbird_service_detach',
+                        'fbird_set_event_handler',
+                        'fbird_trans',
+                        'fbird_wait_event',
+                        'ibase_add_user',
                         'ibase_affected_rows',
                         'ibase_backup',
                         'ibase_blob_add',
@@ -1048,67 +882,6 @@ MODULES = {'.NET': ('dotnet_load',),
                         'ibase_set_event_handler',
                         'ibase_trans',
                         'ibase_wait_event'),
- 'FriBiDi': ('fribidi_log2vis',),
- 'FrontBase': ('fbsql_affected_rows',
-               'fbsql_autocommit',
-               'fbsql_blob_size',
-               'fbsql_change_user',
-               'fbsql_clob_size',
-               'fbsql_close',
-               'fbsql_commit',
-               'fbsql_connect',
-               'fbsql_create_blob',
-               'fbsql_create_clob',
-               'fbsql_create_db',
-               'fbsql_data_seek',
-               'fbsql_database_password',
-               'fbsql_database',
-               'fbsql_db_query',
-               'fbsql_db_status',
-               'fbsql_drop_db',
-               'fbsql_errno',
-               'fbsql_error',
-               'fbsql_fetch_array',
-               'fbsql_fetch_assoc',
-               'fbsql_fetch_field',
-               'fbsql_fetch_lengths',
-               'fbsql_fetch_object',
-               'fbsql_fetch_row',
-               'fbsql_field_flags',
-               'fbsql_field_len',
-               'fbsql_field_name',
-               'fbsql_field_seek',
-               'fbsql_field_table',
-               'fbsql_field_type',
-               'fbsql_free_result',
-               'fbsql_get_autostart_info',
-               'fbsql_hostname',
-               'fbsql_insert_id',
-               'fbsql_list_dbs',
-               'fbsql_list_fields',
-               'fbsql_list_tables',
-               'fbsql_next_result',
-               'fbsql_num_fields',
-               'fbsql_num_rows',
-               'fbsql_password',
-               'fbsql_pconnect',
-               'fbsql_query',
-               'fbsql_read_blob',
-               'fbsql_read_clob',
-               'fbsql_result',
-               'fbsql_rollback',
-               'fbsql_rows_fetched',
-               'fbsql_select_db',
-               'fbsql_set_characterset',
-               'fbsql_set_lob_mode',
-               'fbsql_set_password',
-               'fbsql_set_transaction',
-               'fbsql_start_db',
-               'fbsql_stop_db',
-               'fbsql_table_name',
-               'fbsql_tablename',
-               'fbsql_username',
-               'fbsql_warnings'),
  'Function handling': ('call_user_func_array',
                        'call_user_func',
                        'create_function',
@@ -1134,6 +907,8 @@ MODULES = {'.NET': ('dotnet_load',),
                   'imagealphablending',
                   'imageantialias',
                   'imagearc',
+                  'imageavif',
+                  'imagebmp',
                   'imagechar',
                   'imagecharup',
                   'imagecolorallocate',
@@ -1159,6 +934,8 @@ MODULES = {'.NET': ('dotnet_load',),
                   'imagecopyresampled',
                   'imagecopyresized',
                   'imagecreate',
+                  'imagecreatefromavif',
+                  'imagecreatefrombmp',
                   'imagecreatefromgd2',
                   'imagecreatefromgd2part',
                   'imagecreatefromgd',
@@ -1166,6 +943,7 @@ MODULES = {'.NET': ('dotnet_load',),
                   'imagecreatefromjpeg',
                   'imagecreatefrompng',
                   'imagecreatefromstring',
+                  'imagecreatefromtga',
                   'imagecreatefromwbmp',
                   'imagecreatefromwebp',
                   'imagecreatefromxbm',
@@ -1191,6 +969,8 @@ MODULES = {'.NET': ('dotnet_load',),
                   'imagegammacorrect',
                   'imagegd2',
                   'imagegd',
+                  'imagegetclip',
+                  'imagegetinterpolation',
                   'imagegif',
                   'imagegrabscreen',
                   'imagegrabwindow',
@@ -1200,22 +980,18 @@ MODULES = {'.NET': ('dotnet_load',),
                   'imagelayereffect',
                   'imageline',
                   'imageloadfont',
+                  'imageopenpolygon',
                   'imagepalettecopy',
                   'imagepalettetotruecolor',
                   'imagepng',
                   'imagepolygon',
-                  'imagepsbbox',
-                  'imagepsencodefont',
-                  'imagepsextendfont',
-                  'imagepsfreefont',
-                  'imagepsloadfont',
-                  'imagepsslantfont',
-                  'imagepstext',
                   'imagerectangle',
+                  'imageresolution',
                   'imagerotate',
                   'imagesavealpha',
                   'imagescale',
                   'imagesetbrush',
+                  'imagesetclip',
                   'imagesetinterpolation',
                   'imagesetpixel',
                   'imagesetstyle',
@@ -1239,6 +1015,7 @@ MODULES = {'.NET': ('dotnet_load',),
  'GMP': ('gmp_abs',
          'gmp_add',
          'gmp_and',
+         'gmp_binomial',
          'gmp_clrbit',
          'gmp_cmp',
          'gmp_com',
@@ -1247,26 +1024,36 @@ MODULES = {'.NET': ('dotnet_load',),
          'gmp_div_r',
          'gmp_div',
          'gmp_divexact',
+         'gmp_export',
          'gmp_fact',
          'gmp_gcd',
          'gmp_gcdext',
          'gmp_hamdist',
+         'gmp_import',
          'gmp_init',
          'gmp_intval',
          'gmp_invert',
          'gmp_jacobi',
+         'gmp_kronecker',
+         'gmp_lcm',
          'gmp_legendre',
          'gmp_mod',
          'gmp_mul',
          'gmp_neg',
          'gmp_nextprime',
          'gmp_or',
+         'gmp_perfect_power',
          'gmp_perfect_square',
          'gmp_popcount',
          'gmp_pow',
          'gmp_powm',
          'gmp_prob_prime',
+         'gmp_random_bits',
+         'gmp_random_range',
+         'gmp_random_seed',
          'gmp_random',
+         'gmp_root',
+         'gmp_rootrem',
          'gmp_scan0',
          'gmp_scan1',
          'gmp_setbit',
@@ -1316,7 +1103,9 @@ MODULES = {'.NET': ('dotnet_load',),
            'gnupg_encrypt',
            'gnupg_encryptsign',
            'gnupg_export',
+           'gnupg_getengineinfo',
            'gnupg_geterror',
+           'gnupg_geterrorinfo',
            'gnupg_getprotocol',
            'gnupg_import',
            'gnupg_init',
@@ -1326,7 +1115,6 @@ MODULES = {'.NET': ('dotnet_load',),
            'gnupg_setsignmode',
            'gnupg_sign',
            'gnupg_verify'),
- 'Gopher': ('gopher_parsedir',),
  'Grapheme': ('grapheme_extract',
               'grapheme_stripos',
               'grapheme_stristr',
@@ -1336,99 +1124,13 @@ MODULES = {'.NET': ('dotnet_load',),
               'grapheme_strrpos',
               'grapheme_strstr',
               'grapheme_substr'),
- 'Gupnp': ('gupnp_context_get_host_ip',
-           'gupnp_context_get_port',
-           'gupnp_context_get_subscription_timeout',
-           'gupnp_context_host_path',
-           'gupnp_context_new',
-           'gupnp_context_set_subscription_timeout',
-           'gupnp_context_timeout_add',
-           'gupnp_context_unhost_path',
-           'gupnp_control_point_browse_start',
-           'gupnp_control_point_browse_stop',
-           'gupnp_control_point_callback_set',
-           'gupnp_control_point_new',
-           'gupnp_device_action_callback_set',
-           'gupnp_device_info_get_service',
-           'gupnp_device_info_get',
-           'gupnp_root_device_get_available',
-           'gupnp_root_device_get_relative_location',
-           'gupnp_root_device_new',
-           'gupnp_root_device_set_available',
-           'gupnp_root_device_start',
-           'gupnp_root_device_stop',
-           'gupnp_service_action_get',
-           'gupnp_service_action_return_error',
-           'gupnp_service_action_return',
-           'gupnp_service_action_set',
-           'gupnp_service_freeze_notify',
-           'gupnp_service_info_get_introspection',
-           'gupnp_service_info_get',
-           'gupnp_service_introspection_get_state_variable',
-           'gupnp_service_notify',
-           'gupnp_service_proxy_action_get',
-           'gupnp_service_proxy_action_set',
-           'gupnp_service_proxy_add_notify',
-           'gupnp_service_proxy_callback_set',
-           'gupnp_service_proxy_get_subscribed',
-           'gupnp_service_proxy_remove_notify',
-           'gupnp_service_proxy_set_subscribed',
-           'gupnp_service_thaw_notify'),
- 'HTTP': ('http_cache_etag',
-          'http_cache_last_modified',
-          'http_chunked_decode',
-          'http_deflate',
-          'http_inflate',
-          'http_build_cookie',
-          'http_date',
-          'http_get_request_body_stream',
-          'http_get_request_body',
-          'http_get_request_headers',
-          'http_match_etag',
-          'http_match_modified',
-          'http_match_request_header',
-          'http_support',
-          'http_negotiate_charset',
-          'http_negotiate_content_type',
-          'http_negotiate_language',
-          'ob_deflatehandler',
-          'ob_etaghandler',
-          'ob_inflatehandler',
-          'http_parse_cookie',
-          'http_parse_headers',
-          'http_parse_message',
-          'http_parse_params',
-          'http_persistent_handles_clean',
-          'http_persistent_handles_count',
-          'http_persistent_handles_ident',
-          'http_get',
-          'http_head',
-          'http_post_data',
-          'http_post_fields',
-          'http_put_data',
-          'http_put_file',
-          'http_put_stream',
-          'http_request_body_encode',
-          'http_request_method_exists',
-          'http_request_method_name',
-          'http_request_method_register',
-          'http_request_method_unregister',
-          'http_request',
-          'http_redirect',
-          'http_send_content_disposition',
-          'http_send_content_type',
-          'http_send_data',
-          'http_send_file',
-          'http_send_last_modified',
-          'http_send_status',
-          'http_send_stream',
-          'http_throttle',
-          'http_build_str',
-          'http_build_url'),
  'Hash': ('hash_algos',
           'hash_copy',
+          'hash_equals',
           'hash_file',
           'hash_final',
+          'hash_hkdf',
+          'hash_hmac_algos',
           'hash_hmac_file',
           'hash_hmac',
           'hash_init',
@@ -1437,72 +1139,6 @@ MODULES = {'.NET': ('dotnet_load',),
           'hash_update_stream',
           'hash_update',
           'hash'),
- 'Hyperwave': ('hw_Array2Objrec',
-               'hw_changeobject',
-               'hw_Children',
-               'hw_ChildrenObj',
-               'hw_Close',
-               'hw_Connect',
-               'hw_connection_info',
-               'hw_cp',
-               'hw_Deleteobject',
-               'hw_DocByAnchor',
-               'hw_DocByAnchorObj',
-               'hw_Document_Attributes',
-               'hw_Document_BodyTag',
-               'hw_Document_Content',
-               'hw_Document_SetContent',
-               'hw_Document_Size',
-               'hw_dummy',
-               'hw_EditText',
-               'hw_Error',
-               'hw_ErrorMsg',
-               'hw_Free_Document',
-               'hw_GetAnchors',
-               'hw_GetAnchorsObj',
-               'hw_GetAndLock',
-               'hw_GetChildColl',
-               'hw_GetChildCollObj',
-               'hw_GetChildDocColl',
-               'hw_GetChildDocCollObj',
-               'hw_GetObject',
-               'hw_GetObjectByQuery',
-               'hw_GetObjectByQueryColl',
-               'hw_GetObjectByQueryCollObj',
-               'hw_GetObjectByQueryObj',
-               'hw_GetParents',
-               'hw_GetParentsObj',
-               'hw_getrellink',
-               'hw_GetRemote',
-               'hw_getremotechildren',
-               'hw_GetSrcByDestObj',
-               'hw_GetText',
-               'hw_getusername',
-               'hw_Identify',
-               'hw_InCollections',
-               'hw_Info',
-               'hw_InsColl',
-               'hw_InsDoc',
-               'hw_insertanchors',
-               'hw_InsertDocument',
-               'hw_InsertObject',
-               'hw_mapid',
-               'hw_Modifyobject',
-               'hw_mv',
-               'hw_New_Document',
-               'hw_objrec2array',
-               'hw_Output_Document',
-               'hw_pConnect',
-               'hw_PipeDocument',
-               'hw_Root',
-               'hw_setlinkroot',
-               'hw_stat',
-               'hw_Unlock',
-               'hw_Who'),
- 'Hyperwave API': ('hwapi_attribute_new',
-                   'hwapi_content_new',
-                   'hwapi_hgcsp',
-                   'hwapi_object_new'),
  'IBM DB2': ('db2_autocommit',
              'db2_bind_param',
              'db2_client_info',
@@ -1554,32 +1190,7 @@ MODULES = {'.NET': ('dotnet_load',),
              'db2_stmt_errormsg',
              'db2_table_privileges',
              'db2_tables'),
- 'ID3': ('id3_get_frame_long_name',
-         'id3_get_frame_short_name',
-         'id3_get_genre_id',
-         'id3_get_genre_list',
-         'id3_get_genre_name',
-         'id3_get_tag',
-         'id3_get_version',
-         'id3_remove_tag',
-         'id3_set_tag'),
- 'IDN': ('grapheme_substr', 'idn_to_ascii', 'idn_to_unicode', 'idn_to_utf8'),
- 'IIS': ('iis_add_server',
-         'iis_get_dir_security',
-         'iis_get_script_map',
-         'iis_get_server_by_comment',
-         'iis_get_server_by_path',
-         'iis_get_server_rights',
-         'iis_get_service_state',
-         'iis_remove_server',
-         'iis_set_app_settings',
-         'iis_set_dir_security',
-         'iis_set_script_map',
-         'iis_set_server_rights',
-         'iis_start_server',
-         'iis_start_service',
-         'iis_stop_server',
-         'iis_stop_service'),
+ 'IDN': ('idn_to_ascii', 'idn_to_utf8'),
  'IMAP': ('imap_8bit',
           'imap_alerts',
           'imap_append',
@@ -1624,6 +1235,7 @@ MODULES = {'.NET': ('dotnet_load',),
           'imap_mailboxmsginfo',
           'imap_mime_header_decode',
           'imap_msgno',
+          'imap_mutf7_to_utf8',
           'imap_num_msg',
           'imap_num_recent',
           'imap_open',
@@ -1652,79 +1264,9 @@ MODULES = {'.NET': ('dotnet_load',),
           'imap_unsubscribe',
           'imap_utf7_decode',
           'imap_utf7_encode',
+          'imap_utf8_to_mutf7',
           'imap_utf8'),
- 'Informix': ('ifx_affected_rows',
-              'ifx_blobinfile_mode',
-              'ifx_byteasvarchar',
-              'ifx_close',
-              'ifx_connect',
-              'ifx_copy_blob',
-              'ifx_create_blob',
-              'ifx_create_char',
-              'ifx_do',
-              'ifx_error',
-              'ifx_errormsg',
-              'ifx_fetch_row',
-              'ifx_fieldproperties',
-              'ifx_fieldtypes',
-              'ifx_free_blob',
-              'ifx_free_char',
-              'ifx_free_result',
-              'ifx_get_blob',
-              'ifx_get_char',
-              'ifx_getsqlca',
-              'ifx_htmltbl_result',
-              'ifx_nullformat',
-              'ifx_num_fields',
-              'ifx_num_rows',
-              'ifx_pconnect',
-              'ifx_prepare',
-              'ifx_query',
-              'ifx_textasvarchar',
-              'ifx_update_blob',
-              'ifx_update_char',
-              'ifxus_close_slob',
-              'ifxus_create_slob',
-              'ifxus_free_slob',
-              'ifxus_open_slob',
-              'ifxus_read_slob',
-              'ifxus_seek_slob',
-              'ifxus_tell_slob',
-              'ifxus_write_slob'),
- 'Ingres': ('ingres_autocommit_state',
-            'ingres_autocommit',
-            'ingres_charset',
-            'ingres_close',
-            'ingres_commit',
-            'ingres_connect',
-            'ingres_cursor',
-            'ingres_errno',
-            'ingres_error',
-            'ingres_errsqlstate',
-            'ingres_escape_string',
-            'ingres_execute',
-            'ingres_fetch_array',
-            'ingres_fetch_assoc',
-            'ingres_fetch_object',
-            'ingres_fetch_proc_return',
-            'ingres_fetch_row',
-            'ingres_field_length',
-            'ingres_field_name',
-            'ingres_field_nullable',
-            'ingres_field_precision',
-            'ingres_field_scale',
-            'ingres_field_type',
-            'ingres_free_result',
-            'ingres_next_error',
-            'ingres_num_fields',
-            'ingres_num_rows',
-            'ingres_pconnect',
-            'ingres_prepare',
-            'ingres_query',
-            'ingres_result_seek',
-            'ingres_rollback',
-            'ingres_set_environment',
-            'ingres_unbuffered_query'),
+ 'Igbinary': ('igbinary_serialize', 'igbinary_unserialize'),
  'Inotify': ('inotify_add_watch',
              'inotify_init',
              'inotify_queue_len',
@@ -1734,20 +1276,10 @@ MODULES = {'.NET': ('dotnet_load',),
           'json_encode',
           'json_last_error_msg',
           'json_last_error'),
- 'Java': ('java_last_exception_clear', 'java_last_exception_get'),
- 'Judy': ('judy_type', 'judy_version'),
- 'KADM5': ('kadm5_chpass_principal',
-           'kadm5_create_principal',
-           'kadm5_delete_principal',
-           'kadm5_destroy',
-           'kadm5_flush',
-           'kadm5_get_policies',
-           'kadm5_get_principal',
-           'kadm5_get_principals',
-           'kadm5_init_with_password',
-           'kadm5_modify_principal'),
  'LDAP': ('ldap_8859_to_t61',
+          'ldap_add_ext',
           'ldap_add',
+          'ldap_bind_ext',
           'ldap_bind',
           'ldap_close',
           'ldap_compare',
@@ -1755,11 +1287,18 @@ MODULES = {'.NET': ('dotnet_load',),
           'ldap_control_paged_result_response',
           'ldap_control_paged_result',
           'ldap_count_entries',
+          'ldap_count_references',
+          'ldap_delete_ext',
           'ldap_delete',
           'ldap_dn2ufn',
           'ldap_err2str',
           'ldap_errno',
           'ldap_error',
+          'ldap_escape',
+          'ldap_exop_passwd',
+          'ldap_exop_refresh',
+          'ldap_exop_whoami',
+          'ldap_exop',
           'ldap_explode_dn',
           'ldap_first_attribute',
           'ldap_first_entry',
@@ -1772,16 +1311,22 @@ MODULES = {'.NET': ('dotnet_load',),
           'ldap_get_values_len',
           'ldap_get_values',
           'ldap_list',
+          'ldap_mod_add_ext',
           'ldap_mod_add',
+          'ldap_mod_del_ext',
           'ldap_mod_del',
+          'ldap_mod_replace_ext',
           'ldap_mod_replace',
+          'ldap_modify_batch',
           'ldap_modify',
           'ldap_next_attribute',
           'ldap_next_entry',
           'ldap_next_reference',
+          'ldap_parse_exop',
           'ldap_parse_reference',
           'ldap_parse_result',
           'ldap_read',
+          'ldap_rename_ext',
           'ldap_rename',
           'ldap_sasl_bind',
           'ldap_search',
@@ -1792,83 +1337,6 @@ MODULES = {'.NET': ('dotnet_load',),
           'ldap_t61_to_8859',
           'ldap_unbind'),
  'LZF': ('lzf_compress', 'lzf_decompress', 'lzf_optimized_for'),
- 'Libevent': ('event_add',
-              'event_base_free',
-              'event_base_loop',
-              'event_base_loopbreak',
-              'event_base_loopexit',
-              'event_base_new',
-              'event_base_priority_init',
-              'event_base_set',
-              'event_buffer_base_set',
-              'event_buffer_disable',
-              'event_buffer_enable',
-              'event_buffer_fd_set',
-              'event_buffer_free',
-              'event_buffer_new',
-              'event_buffer_priority_set',
-              'event_buffer_read',
-              'event_buffer_set_callback',
-              'event_buffer_timeout_set',
-              'event_buffer_watermark_set',
-              'event_buffer_write',
-              'event_del',
-              'event_free',
-              'event_new',
-              'event_set'),
- 'Lotus Notes': ('notes_body',
-                 'notes_copy_db',
-                 'notes_create_db',
-                 'notes_create_note',
-                 'notes_drop_db',
-                 'notes_find_note',
-                 'notes_header_info',
-                 'notes_list_msgs',
-                 'notes_mark_read',
-                 'notes_mark_unread',
-                 'notes_nav_create',
-                 'notes_search',
-                 'notes_unread',
-                 'notes_version'),
- 'MCVE': ('m_checkstatus',
-          'm_completeauthorizations',
-          'm_connect',
-          'm_connectionerror',
-          'm_deletetrans',
-          'm_destroyconn',
-          'm_destroyengine',
-          'm_getcell',
-          'm_getcellbynum',
-          'm_getcommadelimited',
-          'm_getheader',
-          'm_initconn',
-          'm_initengine',
-          'm_iscommadelimited',
-          'm_maxconntimeout',
-          'm_monitor',
-          'm_numcolumns',
-          'm_numrows',
-          'm_parsecommadelimited',
-          'm_responsekeys',
-          'm_responseparam',
-          'm_returnstatus',
-          'm_setblocking',
-          'm_setdropfile',
-          'm_setip',
-          'm_setssl_cafile',
-          'm_setssl_files',
-          'm_setssl',
-          'm_settimeout',
-          'm_sslcert_gen_hash',
-          'm_transactionssent',
-          'm_transinqueue',
-          'm_transkeyval',
-          'm_transnew',
-          'm_transsend',
-          'm_uwait',
-          'm_validateidentifier',
-          'm_verifyconnection',
-          'm_verifysslcert'),
  'Mail': ('ezmlm_hash', 'mail'),
  'Mailparse': ('mailparse_determine_best_xfer_encoding',
                'mailparse_msg_create',
@@ -1903,11 +1371,13 @@ MODULES = {'.NET': ('dotnet_load',),
           'deg2rad',
           'exp',
           'expm1',
+          'fdiv',
           'floor',
           'fmod',
           'getrandmax',
           'hexdec',
           'hypot',
+          'intdiv',
           'is_finite',
           'is_infinite',
           'is_nan',
@@ -1932,113 +1402,8 @@ MODULES = {'.NET': ('dotnet_load',),
           'srand',
           'tan',
           'tanh'),
- 'MaxDB': ('maxdb_affected_rows',
-           'maxdb_autocommit',
-           'maxdb_bind_param',
-           'maxdb_bind_result',
-           'maxdb_change_user',
-           'maxdb_character_set_name',
-           'maxdb_client_encoding',
-           'maxdb_close_long_data',
-           'maxdb_close',
-           'maxdb_commit',
-           'maxdb_connect_errno',
-           'maxdb_connect_error',
-           'maxdb_connect',
-           'maxdb_data_seek',
-           'maxdb_debug',
-           'maxdb_disable_reads_from_master',
-           'maxdb_disable_rpl_parse',
-           'maxdb_dump_debug_info',
-           'maxdb_embedded_connect',
-           'maxdb_enable_reads_from_master',
-           'maxdb_enable_rpl_parse',
-           'maxdb_errno',
-           'maxdb_error',
-           'maxdb_escape_string',
-           'maxdb_execute',
-           'maxdb_fetch_array',
-           'maxdb_fetch_assoc',
-           'maxdb_fetch_field_direct',
-           'maxdb_fetch_field',
-           'maxdb_fetch_fields',
-           'maxdb_fetch_lengths',
-           'maxdb_fetch_object',
-           'maxdb_fetch_row',
-           'maxdb_fetch',
-           'maxdb_field_count',
-           'maxdb_field_seek',
-           'maxdb_field_tell',
-           'maxdb_free_result',
-           'maxdb_get_client_info',
-           'maxdb_get_client_version',
-           'maxdb_get_host_info',
-           'maxdb_get_metadata',
-           'maxdb_get_proto_info',
-           'maxdb_get_server_info',
-           'maxdb_get_server_version',
-           'maxdb_info',
-           'maxdb_init',
-           'maxdb_insert_id',
-           'maxdb_kill',
-           'maxdb_master_query',
-           'maxdb_more_results',
-           'maxdb_multi_query',
-           'maxdb_next_result',
-           'maxdb_num_fields',
-           'maxdb_num_rows',
-           'maxdb_options',
-           'maxdb_param_count',
-           'maxdb_ping',
-           'maxdb_prepare',
-           'maxdb_query',
-           'maxdb_real_connect',
-           'maxdb_real_escape_string',
-           'maxdb_real_query',
-           'maxdb_report',
-           'maxdb_rollback',
-           'maxdb_rpl_parse_enabled',
-           'maxdb_rpl_probe',
-           'maxdb_rpl_query_type',
-           'maxdb_select_db',
-           'maxdb_send_long_data',
-           'maxdb_send_query',
-           'maxdb_server_end',
-           'maxdb_server_init',
-           'maxdb_set_opt',
-           'maxdb_sqlstate',
-           'maxdb_ssl_set',
-           'maxdb_stat',
-           'maxdb_stmt_affected_rows',
-           'maxdb_stmt_bind_param',
-           'maxdb_stmt_bind_result',
-           'maxdb_stmt_close_long_data',
-           'maxdb_stmt_close',
-           'maxdb_stmt_data_seek',
-           'maxdb_stmt_errno',
-           'maxdb_stmt_error',
-           'maxdb_stmt_execute',
-           'maxdb_stmt_fetch',
-           'maxdb_stmt_free_result',
-           'maxdb_stmt_init',
-           'maxdb_stmt_num_rows',
-           'maxdb_stmt_param_count',
-           'maxdb_stmt_prepare',
-           'maxdb_stmt_reset',
-           'maxdb_stmt_result_metadata',
-           'maxdb_stmt_send_long_data',
-           'maxdb_stmt_sqlstate',
-           'maxdb_stmt_store_result',
-           'maxdb_store_result',
-           'maxdb_thread_id',
-           'maxdb_thread_safe',
-           'maxdb_use_result',
-           'maxdb_warning_count'),
- 'Mcrypt': ('mcrypt_cbc',
-            'mcrypt_cfb',
-            'mcrypt_create_iv',
+ 'Mcrypt': ('mcrypt_create_iv',
             'mcrypt_decrypt',
-            'mcrypt_ecb',
             'mcrypt_enc_get_algorithms_name',
             'mcrypt_enc_get_block_size',
             'mcrypt_enc_get_iv_size',
@@ -2051,7 +1416,6 @@ MODULES = {'.NET': ('dotnet_load',),
             'mcrypt_enc_self_test',
             'mcrypt_encrypt',
             'mcrypt_generic_deinit',
-            'mcrypt_generic_end',
             'mcrypt_generic_init',
             'mcrypt_generic',
             'mcrypt_get_block_size',
@@ -2069,7 +1433,6 @@ MODULES = {'.NET': ('dotnet_load',),
             'mcrypt_module_is_block_mode',
             'mcrypt_module_open',
             'mcrypt_module_self_test',
-            'mcrypt_ofb',
             'mdecrypt_generic'),
  'Memcache': ('memcache_debug',),
  'Mhash': ('mhash_count',
@@ -2077,15 +1440,8 @@ MODULES = {'.NET': ('dotnet_load',),
            'mhash_get_hash_name',
            'mhash_keygen_s2k',
            'mhash'),
- 'Ming': ('ming_keypress',
-          'ming_setcubicthreshold',
-          'ming_setscale',
-          'ming_setswfcompression',
-          'ming_useconstants',
-          'ming_useswfversion'),
  'Misc.': ('connection_aborted',
            'connection_status',
-           'connection_timeout',
            'constant',
            'define',
            'defined',
@@ -2096,10 +1452,17 @@ MODULES = {'.NET': ('dotnet_load',),
            '__halt_compiler',
            'highlight_file',
            'highlight_string',
+           'hrtime',
            'ignore_user_abort',
            'pack',
-           'php_check_syntax',
            'php_strip_whitespace',
+           'sapi_windows_cp_conv',
+           'sapi_windows_cp_get',
+           'sapi_windows_cp_is_utf8',
+           'sapi_windows_cp_set',
+           'sapi_windows_generate_ctrl_event',
+           'sapi_windows_set_ctrl_handler',
+           'sapi_windows_vt100_support',
            'show_source',
            'sleep',
            'sys_getloadavg',
@@ -2108,59 +1471,8 @@ MODULES = {'.NET': ('dotnet_load',),
            'uniqid',
            'unpack',
            'usleep'),
- 'Mongo': ('bson_decode', 'bson_encode'),
- 'Msession': ('msession_connect',
-              'msession_count',
-              'msession_create',
-              'msession_destroy',
-              'msession_disconnect',
-              'msession_find',
-              'msession_get_array',
-              'msession_get_data',
-              'msession_get',
-              'msession_inc',
-              'msession_list',
-              'msession_listvar',
-              'msession_lock',
-              'msession_plugin',
-              'msession_randstr',
-              'msession_set_array',
-              'msession_set_data',
-              'msession_set',
-              'msession_timeout',
-              'msession_uniq',
-              'msession_unlock'),
- 'Mssql': ('mssql_bind',
-           'mssql_close',
-           'mssql_connect',
-           'mssql_data_seek',
-           'mssql_execute',
-           'mssql_fetch_array',
-           'mssql_fetch_assoc',
-           'mssql_fetch_batch',
-           'mssql_fetch_field',
-           'mssql_fetch_object',
-           'mssql_fetch_row',
-           'mssql_field_length',
-           'mssql_field_name',
-           'mssql_field_seek',
-           'mssql_field_type',
-           'mssql_free_result',
-           'mssql_free_statement',
-           'mssql_get_last_message',
-           'mssql_guid_string',
-           'mssql_init',
-           'mssql_min_error_severity',
-           'mssql_min_message_severity',
-           'mssql_next_result',
-           'mssql_num_fields',
-           'mssql_num_rows',
-           'mssql_pconnect',
-           'mssql_query',
-           'mssql_result',
-           'mssql_rows_affected',
-           'mssql_select_db'),
  'Multibyte String': ('mb_check_encoding',
+                      'mb_chr',
                       'mb_convert_case',
                       'mb_convert_encoding',
                       'mb_convert_kana',
@@ -2191,13 +1503,16 @@ MODULES = {'.NET': ('dotnet_load',),
                       'mb_internal_encoding',
                       'mb_language',
                       'mb_list_encodings',
+                      'mb_ord',
                       'mb_output_handler',
                       'mb_parse_str',
                       'mb_preferred_mime_name',
                       'mb_regex_encoding',
                       'mb_regex_set_options',
+                      'mb_scrub',
                       'mb_send_mail',
                       'mb_split',
+                      'mb_str_split',
                       'mb_strcut',
                       'mb_strimwidth',
                       'mb_stripos',
@@ -2263,184 +1578,9 @@ MODULES = {'.NET': ('dotnet_load',),
            'mysql_tablename',
            'mysql_thread_id',
            'mysql_unbuffered_query'),
- 'Mysqlnd_memcache': ('mysqlnd_memcache_get_config', 'mysqlnd_memcache_set'),
- 'Mysqlnd_ms': ('mysqlnd_ms_dump_servers',
-                'mysqlnd_ms_fabric_select_global',
-                'mysqlnd_ms_fabric_select_shard',
-                'mysqlnd_ms_get_last_gtid',
-                'mysqlnd_ms_get_last_used_connection',
-                'mysqlnd_ms_get_stats',
-                'mysqlnd_ms_match_wild',
-                'mysqlnd_ms_query_is_select',
-                'mysqlnd_ms_set_qos',
-                'mysqlnd_ms_set_user_pick_server'),
- 'Mysqlnd_uh': ('mysqlnd_uh_convert_to_mysqlnd',
-                'mysqlnd_uh_set_connection_proxy',
-                'mysqlnd_uh_set_statement_proxy'),
- 'NSAPI': ('nsapi_request_headers', 'nsapi_response_headers', 'nsapi_virtual'),
- 'Ncurses': ('ncurses_addch',
-             'ncurses_addchnstr',
-             'ncurses_addchstr',
-             'ncurses_addnstr',
-             'ncurses_addstr',
-             'ncurses_assume_default_colors',
-             'ncurses_attroff',
-             'ncurses_attron',
-             'ncurses_attrset',
-             'ncurses_baudrate',
-             'ncurses_beep',
-             'ncurses_bkgd',
-             'ncurses_bkgdset',
-             'ncurses_border',
-             'ncurses_bottom_panel',
-             'ncurses_can_change_color',
-             'ncurses_cbreak',
-             'ncurses_clear',
-             'ncurses_clrtobot',
-             'ncurses_clrtoeol',
-             'ncurses_color_content',
-             'ncurses_color_set',
-             'ncurses_curs_set',
-             'ncurses_def_prog_mode',
-             'ncurses_def_shell_mode',
-             'ncurses_define_key',
-             'ncurses_del_panel',
-             'ncurses_delay_output',
-             'ncurses_delch',
-             'ncurses_deleteln',
-             'ncurses_delwin',
-             'ncurses_doupdate',
-             'ncurses_echo',
-             'ncurses_echochar',
-             'ncurses_end',
-             'ncurses_erase',
-             'ncurses_erasechar',
-             'ncurses_filter',
-             'ncurses_flash',
-             'ncurses_flushinp',
-             'ncurses_getch',
-             'ncurses_getmaxyx',
-             'ncurses_getmouse',
-             'ncurses_getyx',
-             'ncurses_halfdelay',
-             'ncurses_has_colors',
-             'ncurses_has_ic',
-             'ncurses_has_il',
-             'ncurses_has_key',
-             'ncurses_hide_panel',
-             'ncurses_hline',
-             'ncurses_inch',
-             'ncurses_init_color',
-             'ncurses_init_pair',
-             'ncurses_init',
-             'ncurses_insch',
-             'ncurses_insdelln',
-             'ncurses_insertln',
-             'ncurses_insstr',
-             'ncurses_instr',
-             'ncurses_isendwin',
-             'ncurses_keyok',
-             'ncurses_keypad',
-             'ncurses_killchar',
-             'ncurses_longname',
-             'ncurses_meta',
-             'ncurses_mouse_trafo',
-             'ncurses_mouseinterval',
-             'ncurses_mousemask',
-             'ncurses_move_panel',
-             'ncurses_move',
-             'ncurses_mvaddch',
-             'ncurses_mvaddchnstr',
-             'ncurses_mvaddchstr',
-             'ncurses_mvaddnstr',
-             'ncurses_mvaddstr',
-             'ncurses_mvcur',
-             'ncurses_mvdelch',
-             'ncurses_mvgetch',
-             'ncurses_mvhline',
-             'ncurses_mvinch',
-             'ncurses_mvvline',
-             'ncurses_mvwaddstr',
-             'ncurses_napms',
-             'ncurses_new_panel',
-             'ncurses_newpad',
-             'ncurses_newwin',
-             'ncurses_nl',
-             'ncurses_nocbreak',
-             'ncurses_noecho',
-             'ncurses_nonl',
-             'ncurses_noqiflush',
-             'ncurses_noraw',
-             'ncurses_pair_content',
-             'ncurses_panel_above',
-             'ncurses_panel_below',
-             'ncurses_panel_window',
-             'ncurses_pnoutrefresh',
-             'ncurses_prefresh',
-             'ncurses_putp',
-             'ncurses_qiflush',
-             'ncurses_raw',
-             'ncurses_refresh',
-             'ncurses_replace_panel',
-             'ncurses_reset_prog_mode',
-             'ncurses_reset_shell_mode',
-             'ncurses_resetty',
-             'ncurses_savetty',
-             'ncurses_scr_dump',
-             'ncurses_scr_init',
-             'ncurses_scr_restore',
-             'ncurses_scr_set',
-             'ncurses_scrl',
-             'ncurses_show_panel',
-             'ncurses_slk_attr',
-             'ncurses_slk_attroff',
-             'ncurses_slk_attron',
-             'ncurses_slk_attrset',
-             'ncurses_slk_clear',
-             'ncurses_slk_color',
-             'ncurses_slk_init',
-             'ncurses_slk_noutrefresh',
-             'ncurses_slk_refresh',
-             'ncurses_slk_restore',
-             'ncurses_slk_set',
-             'ncurses_slk_touch',
-             'ncurses_standend',
-             'ncurses_standout',
-             'ncurses_start_color',
-             'ncurses_termattrs',
-             'ncurses_termname',
-             'ncurses_timeout',
-             'ncurses_top_panel',
-             'ncurses_typeahead',
-             'ncurses_ungetch',
-             'ncurses_ungetmouse',
-             'ncurses_update_panels',
-             'ncurses_use_default_colors',
-             'ncurses_use_env',
-             'ncurses_use_extended_names',
-             'ncurses_vidattr',
-             'ncurses_vline',
-             'ncurses_waddch',
-             'ncurses_waddstr',
-             'ncurses_wattroff',
-             'ncurses_wattron',
-             'ncurses_wattrset',
-             'ncurses_wborder',
-             'ncurses_wclear',
-             'ncurses_wcolor_set',
-             'ncurses_werase',
-             'ncurses_wgetch',
-             'ncurses_whline',
-             'ncurses_wmouse_trafo',
-             'ncurses_wmove',
-             'ncurses_wnoutrefresh',
-             'ncurses_wrefresh',
-             'ncurses_wstandend',
-             'ncurses_wstandout',
-             'ncurses_wvline'),
+ 'Mysql_xdevapi': ('expression', 'getSession'),
  'Network': ('checkdnsrr',
              'closelog',
-             'define_syslog_variables',
              'dns_check_record',
              'dns_get_mx',
              'dns_get_record',
@@ -2464,6 +1604,7 @@ MODULES = {'.NET': ('dotnet_load',),
              'inet_pton',
              'ip2long',
              'long2ip',
+             'net_get_interfaces',
              'openlog',
              'pfsockopen',
              'setcookie',
@@ -2472,122 +1613,6 @@ MODULES = {'.NET': ('dotnet_load',),
              'socket_set_blocking',
              'socket_set_timeout',
              'syslog'),
- 'Newt': ('newt_bell',
-          'newt_button_bar',
-          'newt_button',
-          'newt_centered_window',
-          'newt_checkbox_get_value',
-          'newt_checkbox_set_flags',
-          'newt_checkbox_set_value',
-          'newt_checkbox_tree_add_item',
-          'newt_checkbox_tree_find_item',
-          'newt_checkbox_tree_get_current',
-          'newt_checkbox_tree_get_entry_value',
-          'newt_checkbox_tree_get_multi_selection',
-          'newt_checkbox_tree_get_selection',
-          'newt_checkbox_tree_multi',
-          'newt_checkbox_tree_set_current',
-          'newt_checkbox_tree_set_entry_value',
-          'newt_checkbox_tree_set_entry',
-          'newt_checkbox_tree_set_width',
-          'newt_checkbox_tree',
-          'newt_checkbox',
-          'newt_clear_key_buffer',
-          'newt_cls',
-          'newt_compact_button',
-          'newt_component_add_callback',
-          'newt_component_takes_focus',
-          'newt_create_grid',
-          'newt_cursor_off',
-          'newt_cursor_on',
-          'newt_delay',
-          'newt_draw_form',
-          'newt_draw_root_text',
-          'newt_entry_get_value',
-          'newt_entry_set_filter',
-          'newt_entry_set_flags',
-          'newt_entry_set',
-          'newt_entry',
-          'newt_finished',
-          'newt_form_add_component',
-          'newt_form_add_components',
-          'newt_form_add_hot_key',
-          'newt_form_destroy',
-          'newt_form_get_current',
-          'newt_form_run',
-          'newt_form_set_background',
-          'newt_form_set_height',
-          'newt_form_set_size',
-          'newt_form_set_timer',
-          'newt_form_set_width',
-          'newt_form_watch_fd',
-          'newt_form',
-          'newt_get_screen_size',
-          'newt_grid_add_components_to_form',
-          'newt_grid_basic_window',
-          'newt_grid_free',
-          'newt_grid_get_size',
-          'newt_grid_h_close_stacked',
-          'newt_grid_h_stacked',
-          'newt_grid_place',
-          'newt_grid_set_field',
-          'newt_grid_simple_window',
-          'newt_grid_v_close_stacked',
-          'newt_grid_v_stacked',
-          'newt_grid_wrapped_window_at',
-          'newt_grid_wrapped_window',
-          'newt_init',
-          'newt_label_set_text',
-          'newt_label',
-          'newt_listbox_append_entry',
-          'newt_listbox_clear_selection',
-          'newt_listbox_clear',
-          'newt_listbox_delete_entry',
-          'newt_listbox_get_current',
-          'newt_listbox_get_selection',
-          'newt_listbox_insert_entry',
-          'newt_listbox_item_count',
-          'newt_listbox_select_item',
-          'newt_listbox_set_current_by_key',
-          'newt_listbox_set_current',
-          'newt_listbox_set_data',
-          'newt_listbox_set_entry',
-          'newt_listbox_set_width',
-          'newt_listbox',
-          'newt_listitem_get_data',
-          'newt_listitem_set',
-          'newt_listitem',
-          'newt_open_window',
-          'newt_pop_help_line',
-          'newt_pop_window',
-          'newt_push_help_line',
-          'newt_radio_get_current',
-          'newt_radiobutton',
-          'newt_redraw_help_line',
-          'newt_reflow_text',
-          'newt_refresh',
-          'newt_resize_screen',
-          'newt_resume',
-          'newt_run_form',
-          'newt_scale_set',
-          'newt_scale',
-          'newt_scrollbar_set',
-          'newt_set_help_callback',
-          'newt_set_suspend_callback',
-          'newt_suspend',
-          'newt_textbox_get_num_lines',
-          'newt_textbox_reflowed',
-          'newt_textbox_set_height',
-          'newt_textbox_set_text',
-          'newt_textbox',
-          'newt_vertical_scrollbar',
-          'newt_wait_for_key',
-          'newt_win_choice',
-          'newt_win_entries',
-          'newt_win_menu',
-          'newt_win_message',
-          'newt_win_messagev',
-          'newt_win_ternary'),
  'OAuth': ('oauth_get_sbs', 'oauth_urlencode'),
  'OCI8': ('oci_bind_array_by_name',
           'oci_bind_by_name',
@@ -2615,7 +1640,6 @@ MODULES = {'.NET': ('dotnet_load',),
           'oci_free_descriptor',
           'oci_free_statement',
           'oci_get_implicit_resultset',
-          'oci_internal_debug',
           'oci_lob_copy',
           'oci_lob_is_equal',
           'oci_new_collection',
@@ -2627,16 +1651,21 @@ MODULES = {'.NET': ('dotnet_load',),
           'oci_parse',
           'oci_password_change',
           'oci_pconnect',
+          'oci_register_taf_callback',
           'oci_result',
           'oci_rollback',
           'oci_server_version',
           'oci_set_action',
+          'oci_set_call_timeout',
           'oci_set_client_identifier',
           'oci_set_client_info',
+          'oci_set_db_operation',
           'oci_set_edition',
           'oci_set_module_name',
+          'oci_set_prefetch_lob',
           'oci_set_prefetch',
-          'oci_statement_type'),
+          'oci_statement_type',
+          'oci_unregister_taf_callback'),
  'ODBC': ('odbc_autocommit',
           'odbc_binmode',
           'odbc_close_all',
@@ -2686,17 +1715,8 @@ MODULES = {'.NET': ('dotnet_load',),
              'opcache_get_configuration',
              'opcache_get_status',
              'opcache_invalidate',
+             'opcache_is_script_cached',
              'opcache_reset'),
- 'Object Aggregation': ('aggregate_info',
-                        'aggregate_methods_by_list',
-                        'aggregate_methods_by_regexp',
-                        'aggregate_methods',
-                        'aggregate_properties_by_list',
-                        'aggregate_properties_by_regexp',
-                        'aggregate_properties',
-                        'aggregate',
-                        'aggregation_info',
-                        'deaggregate'),
  'OpenAL': ('openal_buffer_create',
             'openal_buffer_data',
             'openal_buffer_destroy',
@@ -2721,6 +1741,11 @@ MODULES = {'.NET': ('dotnet_load',),
             'openal_source_stop',
             'openal_stream'),
  'OpenSSL': ('openssl_cipher_iv_length',
+             'openssl_cms_decrypt',
+             'openssl_cms_encrypt',
+             'openssl_cms_read',
+             'openssl_cms_sign',
+             'openssl_cms_verify',
              'openssl_csr_export_to_file',
              'openssl_csr_export',
              'openssl_csr_get_public_key',
@@ -2733,7 +1758,9 @@ MODULES = {'.NET': ('dotnet_load',),
              'openssl_encrypt',
              'openssl_error_string',
              'openssl_free_key',
+             'openssl_get_cert_locations',
              'openssl_get_cipher_methods',
+             'openssl_get_curve_names',
              'openssl_get_md_methods',
              'openssl_get_privatekey',
              'openssl_get_publickey',
@@ -2744,8 +1771,10 @@ MODULES = {'.NET': ('dotnet_load',),
              'openssl_pkcs12_read',
              'openssl_pkcs7_decrypt',
              'openssl_pkcs7_encrypt',
+             'openssl_pkcs7_read',
              'openssl_pkcs7_sign',
              'openssl_pkcs7_verify',
+             'openssl_pkey_derive',
              'openssl_pkey_export_to_file',
              'openssl_pkey_export',
              'openssl_pkey_free',
@@ -2769,9 +1798,11 @@ MODULES = {'.NET': ('dotnet_load',),
              'openssl_x509_checkpurpose',
              'openssl_x509_export_to_file',
              'openssl_x509_export',
+             'openssl_x509_fingerprint',
              'openssl_x509_free',
              'openssl_x509_parse',
-             'openssl_x509_read'),
+             'openssl_x509_read',
+             'openssl_x509_verify'),
  'Output Control': ('flush',
                     'ob_clean',
                     'ob_end_clean',
@@ -2789,27 +1820,8 @@ MODULES = {'.NET': ('dotnet_load',),
                     'ob_start',
                     'output_add_rewrite_var',
                     'output_reset_rewrite_vars'),
- 'Ovrimos SQL': ('ovrimos_close',
-                 'ovrimos_commit',
-                 'ovrimos_connect',
-                 'ovrimos_cursor',
-                 'ovrimos_exec',
-                 'ovrimos_execute',
-                 'ovrimos_fetch_into',
-                 'ovrimos_fetch_row',
-                 'ovrimos_field_len',
-                 'ovrimos_field_name',
-                 'ovrimos_field_num',
-                 'ovrimos_field_type',
-                 'ovrimos_free_result',
-                 'ovrimos_longreadlen',
-                 'ovrimos_num_fields',
-                 'ovrimos_num_rows',
-                 'ovrimos_prepare',
-                 'ovrimos_result_all',
-                 'ovrimos_result',
-                 'ovrimos_rollback'),
  'PCNTL': ('pcntl_alarm',
+           'pcntl_async_signals',
            'pcntl_errno',
            'pcntl_exec',
            'pcntl_fork',
@@ -2817,6 +1829,7 @@ MODULES = {'.NET': ('dotnet_load',),
            'pcntl_getpriority',
            'pcntl_setpriority',
            'pcntl_signal_dispatch',
+           'pcntl_signal_get_handler',
            'pcntl_signal',
            'pcntl_sigprocmask',
            'pcntl_sigtimedwait',
@@ -2832,192 +1845,15 @@ MODULES = {'.NET': ('dotnet_load',),
            'pcntl_wtermsig'),
  'PCRE': ('preg_filter',
           'preg_grep',
+          'preg_last_error_msg',
           'preg_last_error',
           'preg_match_all',
           'preg_match',
           'preg_quote',
+          'preg_replace_callback_array',
           'preg_replace_callback',
           'preg_replace',
           'preg_split'),
- 'PDF': ('PDF_activate_item',
-         'PDF_add_annotation',
-         'PDF_add_bookmark',
-         'PDF_add_launchlink',
-         'PDF_add_locallink',
-         'PDF_add_nameddest',
-         'PDF_add_note',
-         'PDF_add_outline',
-         'PDF_add_pdflink',
-         'PDF_add_table_cell',
-         'PDF_add_textflow',
-         'PDF_add_thumbnail',
-         'PDF_add_weblink',
-         'PDF_arc',
-         'PDF_arcn',
-         'PDF_attach_file',
-         'PDF_begin_document',
-         'PDF_begin_font',
-         'PDF_begin_glyph',
-         'PDF_begin_item',
-         'PDF_begin_layer',
-         'PDF_begin_page_ext',
-         'PDF_begin_page',
-         'PDF_begin_pattern',
-         'PDF_begin_template_ext',
-         'PDF_begin_template',
-         'PDF_circle',
-         'PDF_clip',
-         'PDF_close_image',
-         'PDF_close_pdi_page',
-         'PDF_close_pdi',
-         'PDF_close',
-         'PDF_closepath_fill_stroke',
-         'PDF_closepath_stroke',
-         'PDF_closepath',
-         'PDF_concat',
-         'PDF_continue_text',
-         'PDF_create_3dview',
-         'PDF_create_action',
-         'PDF_create_annotation',
-         'PDF_create_bookmark',
-         'PDF_create_field',
-         'PDF_create_fieldgroup',
-         'PDF_create_gstate',
-         'PDF_create_pvf',
-         'PDF_create_textflow',
-         'PDF_curveto',
-         'PDF_define_layer',
-         'PDF_delete_pvf',
-         'PDF_delete_table',
-         'PDF_delete_textflow',
-         'PDF_delete',
-         'PDF_encoding_set_char',
-         'PDF_end_document',
-         'PDF_end_font',
-         'PDF_end_glyph',
-         'PDF_end_item',
-         'PDF_end_layer',
-         'PDF_end_page_ext',
-         'PDF_end_page',
-         'PDF_end_pattern',
-         'PDF_end_template',
-         'PDF_endpath',
-         'PDF_fill_imageblock',
-         'PDF_fill_pdfblock',
-         'PDF_fill_stroke',
-         'PDF_fill_textblock',
-         'PDF_fill',
-         'PDF_findfont',
-         'PDF_fit_image',
-         'PDF_fit_pdi_page',
-         'PDF_fit_table',
-         'PDF_fit_textflow',
-         'PDF_fit_textline',
-         'PDF_get_apiname',
-         'PDF_get_buffer',
-         'PDF_get_errmsg',
-         'PDF_get_errnum',
-         'PDF_get_font',
-         'PDF_get_fontname',
-         'PDF_get_fontsize',
-         'PDF_get_image_height',
-         'PDF_get_image_width',
-         'PDF_get_majorversion',
-         'PDF_get_minorversion',
-         'PDF_get_parameter',
-         'PDF_get_pdi_parameter',
-         'PDF_get_pdi_value',
-         'PDF_get_value',
-         'PDF_info_font',
-         'PDF_info_matchbox',
-         'PDF_info_table',
-         'PDF_info_textflow',
-         'PDF_info_textline',
-         'PDF_initgraphics',
-         'PDF_lineto',
-         'PDF_load_3ddata',
-         'PDF_load_font',
-         'PDF_load_iccprofile',
-         'PDF_load_image',
-         'PDF_makespotcolor',
-         'PDF_moveto',
-         'PDF_new',
-         'PDF_open_ccitt',
-         'PDF_open_file',
-         'PDF_open_gif',
-         'PDF_open_image_file',
-         'PDF_open_image',
-         'PDF_open_jpeg',
-         'PDF_open_memory_image',
-         'PDF_open_pdi_document',
-         'PDF_open_pdi_page',
-         'PDF_open_pdi',
-         'PDF_open_tiff',
-         'PDF_pcos_get_number',
-         'PDF_pcos_get_stream',
-         'PDF_pcos_get_string',
-         'PDF_place_image',
-         'PDF_place_pdi_page',
-         'PDF_process_pdi',
-         'PDF_rect',
-         'PDF_restore',
-         'PDF_resume_page',
-         'PDF_rotate',
-         'PDF_save',
-         'PDF_scale',
-         'PDF_set_border_color',
-         'PDF_set_border_dash',
-         'PDF_set_border_style',
-         'PDF_set_char_spacing',
-         'PDF_set_duration',
-         'PDF_set_gstate',
-         'PDF_set_horiz_scaling',
-         'PDF_set_info_author',
-         'PDF_set_info_creator',
-         'PDF_set_info_keywords',
-         'PDF_set_info_subject',
-         'PDF_set_info_title',
-         'PDF_set_info',
-         'PDF_set_layer_dependency',
-         'PDF_set_leading',
-         'PDF_set_parameter',
-         'PDF_set_text_matrix',
-         'PDF_set_text_pos',
-         'PDF_set_text_rendering',
-         'PDF_set_text_rise',
-         'PDF_set_value',
-         'PDF_set_word_spacing',
-         'PDF_setcolor',
-         'PDF_setdash',
-         'PDF_setdashpattern',
-         'PDF_setflat',
-         'PDF_setfont',
-         'PDF_setgray_fill',
-         'PDF_setgray_stroke',
-         'PDF_setgray',
-         'PDF_setlinecap',
-         'PDF_setlinejoin',
-         'PDF_setlinewidth',
-         'PDF_setmatrix',
-         'PDF_setmiterlimit',
-         'PDF_setpolydash',
-         'PDF_setrgbcolor_fill',
-         'PDF_setrgbcolor_stroke',
-         'PDF_setrgbcolor',
-         'PDF_shading_pattern',
-         'PDF_shading',
-         'PDF_shfill',
-         'PDF_show_boxed',
-         'PDF_show_xy',
-         'PDF_show',
-         'PDF_skew',
-         'PDF_stringwidth',
-         'PDF_stroke',
-         'PDF_suspend_page',
-         'PDF_translate',
-         'PDF_utf16_to_utf8',
-         'PDF_utf32_to_utf16',
-         'PDF_utf8_to_utf16'),
  'PHP Options/Info': ('assert_options',
                       'assert',
                       'cli_get_process_title',
@@ -3028,6 +1864,8 @@ MODULES = {'.NET': ('dotnet_load',),
                       'gc_disable',
                       'gc_enable',
                       'gc_enabled',
+                      'gc_mem_caches',
+                      'gc_status',
                       'get_cfg_var',
                       'get_current_user',
                       'get_defined_constants',
@@ -3038,6 +1876,7 @@ MODULES = {'.NET': ('dotnet_load',),
                       'get_magic_quotes_gpc',
                       'get_magic_quotes_runtime',
                       'get_required_files',
+                      'get_resources',
                       'getenv',
                       'getlastmod',
                       'getmygid',
@@ -3051,12 +1890,10 @@ MODULES = {'.NET': ('dotnet_load',),
                       'ini_get',
                       'ini_restore',
                       'ini_set',
-                      'magic_quotes_runtime',
                       'memory_get_peak_usage',
                       'memory_get_usage',
                       'php_ini_loaded_file',
                       'php_ini_scanned_files',
-                      'php_logo_guid',
                       'php_sapi_name',
                       'php_uname',
                       'phpcredits',
@@ -3065,11 +1902,9 @@ MODULES = {'.NET': ('dotnet_load',),
                       'putenv',
                       'restore_include_path',
                       'set_include_path',
-                      'set_magic_quotes_runtime',
                       'set_time_limit',
                       'sys_get_temp_dir',
                       'version_compare',
-                      'zend_logo_guid',
                       'zend_thread_id',
                       'zend_version'),
  'POSIX': ('posix_access',
@@ -3102,19 +1937,13 @@ MODULES = {'.NET': ('dotnet_load',),
            'posix_seteuid',
            'posix_setgid',
            'posix_setpgid',
+           'posix_setrlimit',
            'posix_setsid',
            'posix_setuid',
            'posix_strerror',
            'posix_times',
            'posix_ttyname',
            'posix_uname'),
- 'POSIX Regex': ('ereg_replace',
-                 'ereg',
-                 'eregi_replace',
-                 'eregi',
-                 'split',
-                 'spliti',
-                 'sql_regcase'),
  'PS': ('ps_add_bookmark',
         'ps_add_launchlink',
         'ps_add_locallink',
@@ -3193,35 +2022,8 @@ MODULES = {'.NET': ('dotnet_load',),
         'ps_symbol_width',
         'ps_symbol',
         'ps_translate'),
- 'Paradox': ('px_close',
-             'px_create_fp',
-             'px_date2string',
-             'px_delete_record',
-             'px_delete',
-             'px_get_field',
-             'px_get_info',
-             'px_get_parameter',
-             'px_get_record',
-             'px_get_schema',
-             'px_get_value',
-             'px_insert_record',
-             'px_new',
-             'px_numfields',
-             'px_numrecords',
-             'px_open_fp',
-             'px_put_record',
-             'px_retrieve_record',
-             'px_set_blob_file',
-             'px_set_parameter',
-             'px_set_tablename',
-             'px_set_targetencoding',
-             'px_set_value',
-             'px_timestamp2string',
-             'px_update_record'),
- 'Parsekit': ('parsekit_compile_file',
-              'parsekit_compile_string',
-              'parsekit_func_arginfo'),
- 'Password Hashing': ('password_get_info',
+ 'Password Hashing': ('password_algos',
+                      'password_get_info',
                       'password_hash',
                       'password_needs_rehash',
                       'password_verify'),
@@ -3229,10 +2031,12 @@ MODULES = {'.NET': ('dotnet_load',),
                 'pg_cancel_query',
                 'pg_client_encoding',
                 'pg_close',
+                'pg_connect_poll',
                 'pg_connect',
                 'pg_connection_busy',
                 'pg_connection_reset',
                 'pg_connection_status',
+                'pg_consume_input',
                 'pg_convert',
                 'pg_copy_from',
                 'pg_copy_to',
@@ -3259,6 +2063,7 @@ MODULES = {'.NET': ('dotnet_load',),
                 'pg_field_table',
                 'pg_field_type_oid',
                 'pg_field_type',
+                'pg_flush',
                 'pg_free_result',
                 'pg_get_notify',
                 'pg_get_pid',
@@ -3303,6 +2108,7 @@ MODULES = {'.NET': ('dotnet_load',),
                 'pg_send_query',
                 'pg_set_client_encoding',
                 'pg_set_error_verbosity',
+                'pg_socket',
                 'pg_trace',
                 'pg_transaction_status',
                 'pg_tty',
@@ -3310,38 +2116,6 @@ MODULES = {'.NET': ('dotnet_load',),
                 'pg_untrace',
                 'pg_update',
                 'pg_version'),
- 'Printer': ('printer_abort',
-             'printer_close',
-             'printer_create_brush',
-             'printer_create_dc',
-             'printer_create_font',
-             'printer_create_pen',
-             'printer_delete_brush',
-             'printer_delete_dc',
-             'printer_delete_font',
-             'printer_delete_pen',
-             'printer_draw_bmp',
-             'printer_draw_chord',
-             'printer_draw_elipse',
-             'printer_draw_line',
-             'printer_draw_pie',
-             'printer_draw_rectangle',
-             'printer_draw_roundrect',
-             'printer_draw_text',
-             'printer_end_doc',
-             'printer_end_page',
-             'printer_get_option',
-             'printer_list',
-             'printer_logical_fontheight',
-             'printer_open',
-             'printer_select_brush',
-             'printer_select_font',
-             'printer_select_pen',
-             'printer_set_option',
-             'printer_start_doc',
-             'printer_start_page',
-             'printer_write'),
- 'Proctitle': ('setproctitle', 'setthreadtitle'),
  'Program execution': ('escapeshellarg',
                        'escapeshellcmd',
                        'exec',
@@ -3372,11 +2146,6 @@ MODULES = {'.NET': ('dotnet_load',),
             'pspell_save_wordlist',
             'pspell_store_replacement',
             'pspell_suggest'),
- 'RPM Reader': ('rpm_close',
-                'rpm_get_tag',
-                'rpm_is_valid',
-                'rpm_open',
-                'rpm_version'),
  'RRD': ('rrd_create',
          'rrd_error',
          'rrd_fetch',
@@ -3434,6 +2203,7 @@ MODULES = {'.NET': ('dotnet_load',),
               'readline_write_history',
               'readline'),
  'Recode': ('recode_file', 'recode_string', 'recode'),
+ 'RpmInfo': ('rpmaddtag', 'rpmdbinfo', 'rpmdbsearch', 'rpminfo', 'rpmvercmp'),
  'SNMP': ('snmp_get_quick_print',
           'snmp_get_valueretrieval',
           'snmp_read_mib',
@@ -3472,8 +2242,8 @@ MODULES = {'.NET': ('dotnet_load',),
          'spl_autoload_unregister',
          'spl_autoload',
          'spl_classes',
-         'spl_object_hash'),
'SPPLUS': ('calcul_hmac', 'calculhmac', 'nthmac', 'signeurlpaiement'),
+         'spl_object_hash',
        'spl_object_id'),
  'SQLSRV': ('sqlsrv_begin_transaction',
             'sqlsrv_cancel',
             'sqlsrv_client_info',
@@ -3500,62 +2270,27 @@ MODULES = {'.NET': ('dotnet_load',),
             'sqlsrv_rows_affected',
             'sqlsrv_send_stream_data',
             'sqlsrv_server_info'),
- 'SQLite': ('sqlite_array_query',
-            'sqlite_busy_timeout',
-            'sqlite_changes',
-            'sqlite_close',
-            'sqlite_column',
-            'sqlite_create_aggregate',
-            'sqlite_create_function',
-            'sqlite_current',
-            'sqlite_error_string',
-            'sqlite_escape_string',
-            'sqlite_exec',
-            'sqlite_factory',
-            'sqlite_fetch_all',
-            'sqlite_fetch_array',
-            'sqlite_fetch_column_types',
-            'sqlite_fetch_object',
-            'sqlite_fetch_single',
-            'sqlite_fetch_string',
-            'sqlite_field_name',
-            'sqlite_has_more',
-            'sqlite_has_prev',
-            'sqlite_key',
-            'sqlite_last_error',
-            'sqlite_last_insert_rowid',
-            'sqlite_libencoding',
-            'sqlite_libversion',
-            'sqlite_next',
-            'sqlite_num_fields',
-            'sqlite_num_rows',
-            'sqlite_open',
-            'sqlite_popen',
-            'sqlite_prev',
-            'sqlite_query',
-            'sqlite_rewind',
-            'sqlite_seek',
-            'sqlite_single_query',
-            'sqlite_udf_decode_binary',
-            'sqlite_udf_encode_binary',
-            'sqlite_unbuffered_query',
-            'sqlite_valid'),
  'SSH2': ('ssh2_auth_agent',
           'ssh2_auth_hostbased_file',
           'ssh2_auth_none',
           'ssh2_auth_password',
           'ssh2_auth_pubkey_file',
           'ssh2_connect',
+          'ssh2_disconnect',
           'ssh2_exec',
           'ssh2_fetch_stream',
           'ssh2_fingerprint',
+          'ssh2_forward_accept',
+          'ssh2_forward_listen',
           'ssh2_methods_negotiated',
+          'ssh2_poll',
           'ssh2_publickey_add',
           'ssh2_publickey_init',
           'ssh2_publickey_list',
           'ssh2_publickey_remove',
           'ssh2_scp_recv',
           'ssh2_scp_send',
+          'ssh2_send_eof',
           'ssh2_sftp_chmod',
           'ssh2_sftp_lstat',
           'ssh2_sftp_mkdir',
@@ -3617,73 +2352,8 @@ MODULES = {'.NET': ('dotnet_load',),
          'svn_revert',
          'svn_status',
          'svn_update'),
- 'SWF': ('swf_actiongeturl',
-         'swf_actiongotoframe',
-         'swf_actiongotolabel',
-         'swf_actionnextframe',
-         'swf_actionplay',
-         'swf_actionprevframe',
-         'swf_actionsettarget',
-         'swf_actionstop',
-         'swf_actiontogglequality',
-         'swf_actionwaitforframe',
-         'swf_addbuttonrecord',
-         'swf_addcolor',
-         'swf_closefile',
-         'swf_definebitmap',
-         'swf_definefont',
-         'swf_defineline',
-         'swf_definepoly',
-         'swf_definerect',
-         'swf_definetext',
-         'swf_endbutton',
-         'swf_enddoaction',
-         'swf_endshape',
-         'swf_endsymbol',
-         'swf_fontsize',
-         'swf_fontslant',
-         'swf_fonttracking',
-         'swf_getbitmapinfo',
-         'swf_getfontinfo',
-         'swf_getframe',
-         'swf_labelframe',
-         'swf_lookat',
-         'swf_modifyobject',
-         'swf_mulcolor',
-         'swf_nextid',
-         'swf_oncondition',
-         'swf_openfile',
-         'swf_ortho2',
-         'swf_ortho',
-         'swf_perspective',
-         'swf_placeobject',
-         'swf_polarview',
-         'swf_popmatrix',
-         'swf_posround',
-         'swf_pushmatrix',
-         'swf_removeobject',
-         'swf_rotate',
-         'swf_scale',
-         'swf_setfont',
-         'swf_setframe',
-         'swf_shapearc',
-         'swf_shapecurveto3',
-         'swf_shapecurveto',
-         'swf_shapefillbitmapclip',
-         'swf_shapefillbitmaptile',
-         'swf_shapefilloff',
-         'swf_shapefillsolid',
-         'swf_shapelinesolid',
-         'swf_shapelineto',
-         'swf_shapemoveto',
-         'swf_showframe',
-         'swf_startbutton',
-         'swf_startdoaction',
-         'swf_startshape',
-         'swf_startsymbol',
-         'swf_textwidth',
-         'swf_translate',
-         'swf_viewport'),
+ 'Scoutapm': ('scoutapm_get_calls', 'scoutapm_list_instrumented_functions'),
+ 'Seaslog': ('seaslog_get_author', 'seaslog_get_version'),
  'Semaphore': ('ftok',
                'msg_get_queue',
                'msg_queue_exists',
@@ -3703,34 +2373,29 @@ MODULES = {'.NET': ('dotnet_load',),
                'shm_put_var',
                'shm_remove_var',
                'shm_remove'),
- 'Session': ('session_cache_expire',
+ 'Session': ('session_abort',
+             'session_cache_expire',
              'session_cache_limiter',
              'session_commit',
+             'session_create_id',
              'session_decode',
              'session_destroy',
              'session_encode',
+             'session_gc',
              'session_get_cookie_params',
              'session_id',
-             'session_is_registered',
              'session_module_name',
              'session_name',
              'session_regenerate_id',
              'session_register_shutdown',
-             'session_register',
+             'session_reset',
              'session_save_path',
              'session_set_cookie_params',
              'session_set_save_handler',
              'session_start',
              'session_status',
-             'session_unregister',
              'session_unset',
              'session_write_close'),
- 'Session PgSQL': ('session_pgsql_add_error',
-                   'session_pgsql_get_error',
-                   'session_pgsql_get_field',
-                   'session_pgsql_reset',
-                   'session_pgsql_set_field',
-                   'session_pgsql_status'),
  'Shared Memory': ('shmop_close',
                    'shmop_delete',
                    'shmop_open',
@@ -3741,6 +2406,10 @@ MODULES = {'.NET': ('dotnet_load',),
                'simplexml_load_file',
                'simplexml_load_string'),
  'Socket': ('socket_accept',
+            'socket_addrinfo_bind',
+            'socket_addrinfo_connect',
+            'socket_addrinfo_explain',
+            'socket_addrinfo_lookup',
             'socket_bind',
             'socket_clear_error',
             'socket_close',
@@ -3749,7 +2418,9 @@ MODULES = {'.NET': ('dotnet_load',),
             'socket_create_listen',
             'socket_create_pair',
             'socket_create',
+            'socket_export_stream',
             'socket_get_option',
+            'socket_getopt',
             'socket_getpeername',
             'socket_getsockname',
             'socket_import_stream',
@@ -3766,81 +2437,101 @@ MODULES = {'.NET': ('dotnet_load',),
             'socket_set_block',
             'socket_set_nonblock',
             'socket_set_option',
+            'socket_setopt',
             'socket_shutdown',
             'socket_strerror',
-            'socket_write'),
+            'socket_write',
+            'socket_wsaprotocol_info_export',
+            'socket_wsaprotocol_info_import',
+            'socket_wsaprotocol_info_release'),
+ 'Sodium': ('sodium_add',
+            'sodium_base642bin',
+            'sodium_bin2base64',
+            'sodium_bin2hex',
+            'sodium_compare',
+            'sodium_crypto_aead_aes256gcm_decrypt',
+            'sodium_crypto_aead_aes256gcm_encrypt',
+            'sodium_crypto_aead_aes256gcm_is_available',
+            'sodium_crypto_aead_aes256gcm_keygen',
+            'sodium_crypto_aead_chacha20poly1305_decrypt',
+            'sodium_crypto_aead_chacha20poly1305_encrypt',
+            'sodium_crypto_aead_chacha20poly1305_ietf_decrypt',
+            'sodium_crypto_aead_chacha20poly1305_ietf_encrypt',
+            'sodium_crypto_aead_chacha20poly1305_ietf_keygen',
+            'sodium_crypto_aead_chacha20poly1305_keygen',
+            'sodium_crypto_aead_xchacha20poly1305_ietf_decrypt',
+            'sodium_crypto_aead_xchacha20poly1305_ietf_encrypt',
+            'sodium_crypto_aead_xchacha20poly1305_ietf_keygen',
+            'sodium_crypto_auth_keygen',
+            'sodium_crypto_auth_verify',
+            'sodium_crypto_auth',
+            'sodium_crypto_box_keypair_from_secretkey_and_publickey',
+            'sodium_crypto_box_keypair',
+            'sodium_crypto_box_open',
+            'sodium_crypto_box_publickey_from_secretkey',
+            'sodium_crypto_box_publickey',
+            'sodium_crypto_box_seal_open',
+            'sodium_crypto_box_seal',
+            'sodium_crypto_box_secretkey',
+            'sodium_crypto_box_seed_keypair',
+            'sodium_crypto_box',
+            'sodium_crypto_generichash_final',
+            'sodium_crypto_generichash_init',
+            'sodium_crypto_generichash_keygen',
+            'sodium_crypto_generichash_update',
+            'sodium_crypto_generichash',
+            'sodium_crypto_kdf_derive_from_key',
+            'sodium_crypto_kdf_keygen',
+            'sodium_crypto_kx_client_session_keys',
+            'sodium_crypto_kx_keypair',
+            'sodium_crypto_kx_publickey',
+            'sodium_crypto_kx_secretkey',
+            'sodium_crypto_kx_seed_keypair',
+            'sodium_crypto_kx_server_session_keys',
+            'sodium_crypto_pwhash_scryptsalsa208sha256_str_verify',
+            'sodium_crypto_pwhash_scryptsalsa208sha256_str',
+            'sodium_crypto_pwhash_scryptsalsa208sha256',
+            'sodium_crypto_pwhash_str_needs_rehash',
+            'sodium_crypto_pwhash_str_verify',
+            'sodium_crypto_pwhash_str',
+            'sodium_crypto_pwhash',
+            'sodium_crypto_scalarmult_base',
+            'sodium_crypto_scalarmult',
+            'sodium_crypto_secretbox_keygen',
+            'sodium_crypto_secretbox_open',
+            'sodium_crypto_secretbox',
+            'sodium_crypto_secretstream_xchacha20poly1305_init_pull',
+            'sodium_crypto_secretstream_xchacha20poly1305_init_push',
+            'sodium_crypto_secretstream_xchacha20poly1305_keygen',
+            'sodium_crypto_secretstream_xchacha20poly1305_pull',
+            'sodium_crypto_secretstream_xchacha20poly1305_push',
+            'sodium_crypto_secretstream_xchacha20poly1305_rekey',
+            'sodium_crypto_shorthash_keygen',
+            'sodium_crypto_shorthash',
+            'sodium_crypto_sign_detached',
+            'sodium_crypto_sign_ed25519_pk_to_curve25519',
+            'sodium_crypto_sign_ed25519_sk_to_curve25519',
+            'sodium_crypto_sign_keypair_from_secretkey_and_publickey',
+            'sodium_crypto_sign_keypair',
+            'sodium_crypto_sign_open',
+            'sodium_crypto_sign_publickey_from_secretkey',
+            'sodium_crypto_sign_publickey',
+            'sodium_crypto_sign_secretkey',
+            'sodium_crypto_sign_seed_keypair',
+            'sodium_crypto_sign_verify_detached',
+            'sodium_crypto_sign',
+            'sodium_crypto_stream_keygen',
+            'sodium_crypto_stream_xor',
+            'sodium_crypto_stream',
+            'sodium_hex2bin',
+            'sodium_increment',
+            'sodium_memcmp',
+            'sodium_memzero',
+            'sodium_pad',
+            'sodium_unpad'),
  'Solr': ('solr_get_version',),
- 'Statistic': ('stats_absolute_deviation',
-               'stats_cdf_beta',
-               'stats_cdf_binomial',
-               'stats_cdf_cauchy',
-               'stats_cdf_chisquare',
-               'stats_cdf_exponential',
-               'stats_cdf_f',
-               'stats_cdf_gamma',
-               'stats_cdf_laplace',
-               'stats_cdf_logistic',
-               'stats_cdf_negative_binomial',
-               'stats_cdf_noncentral_chisquare',
-               'stats_cdf_noncentral_f',
-               'stats_cdf_poisson',
-               'stats_cdf_t',
-               'stats_cdf_uniform',
-               'stats_cdf_weibull',
-               'stats_covariance',
-               'stats_den_uniform',
-               'stats_dens_beta',
-               'stats_dens_cauchy',
-               'stats_dens_chisquare',
-               'stats_dens_exponential',
-               'stats_dens_f',
-               'stats_dens_gamma',
-               'stats_dens_laplace',
-               'stats_dens_logistic',
-               'stats_dens_negative_binomial',
-               'stats_dens_normal',
-               'stats_dens_pmf_binomial',
-               'stats_dens_pmf_hypergeometric',
-               'stats_dens_pmf_poisson',
-               'stats_dens_t',
-               'stats_dens_weibull',
-               'stats_harmonic_mean',
-               'stats_kurtosis',
-               'stats_rand_gen_beta',
-               'stats_rand_gen_chisquare',
-               'stats_rand_gen_exponential',
-               'stats_rand_gen_f',
-               'stats_rand_gen_funiform',
-               'stats_rand_gen_gamma',
-               'stats_rand_gen_ibinomial_negative',
-               'stats_rand_gen_ibinomial',
-               'stats_rand_gen_int',
-               'stats_rand_gen_ipoisson',
-               'stats_rand_gen_iuniform',
-               'stats_rand_gen_noncenral_chisquare',
-               'stats_rand_gen_noncentral_f',
-               'stats_rand_gen_noncentral_t',
-               'stats_rand_gen_normal',
-               'stats_rand_gen_t',
-               'stats_rand_get_seeds',
-               'stats_rand_phrase_to_seeds',
-               'stats_rand_ranf',
-               'stats_rand_setall',
-               'stats_skew',
-               'stats_standard_deviation',
-               'stats_stat_binomial_coef',
-               'stats_stat_correlation',
-               'stats_stat_gennch',
-               'stats_stat_independent_t',
-               'stats_stat_innerproduct',
-               'stats_stat_noncentral_t',
-               'stats_stat_paired_t',
-               'stats_stat_percentile',
-               'stats_stat_powersum',
-               'stats_variance'),
  'Stomp': ('stomp_connect_error', 'stomp_version'),
- 'Stream': ('set_socket_blocking',
-            'stream_bucket_append',
+ 'Stream': ('stream_bucket_append',
             'stream_bucket_make_writeable',
             'stream_bucket_new',
             'stream_bucket_prepend',
@@ -3852,7 +2543,6 @@ MODULES = {'.NET': ('dotnet_load',),
             'stream_context_set_option',
             'stream_context_set_params',
             'stream_copy_to_stream',
-            'stream_encoding',
             'stream_filter_append',
             'stream_filter_prepend',
             'stream_filter_register',
@@ -3864,6 +2554,7 @@ MODULES = {'.NET': ('dotnet_load',),
             'stream_get_transports',
             'stream_get_wrappers',
             'stream_is_local',
+            'stream_isatty',
             'stream_notification_callback',
             'stream_register_wrapper',
             'stream_resolve_include_path',
@@ -3937,6 +2628,8 @@ MODULES = {'.NET': ('dotnet_load',),
             'soundex',
             'sprintf',
             'sscanf',
+            'str_contains',
+            'str_ends_with',
             'str_getcsv',
             'str_ireplace',
             'str_pad',
@@ -3945,6 +2638,7 @@ MODULES = {'.NET': ('dotnet_load',),
             'str_rot13',
             'str_shuffle',
             'str_split',
+            'str_starts_with',
             'str_word_count',
             'strcasecmp',
             'strchr',
@@ -3984,31 +2678,34 @@ MODULES = {'.NET': ('dotnet_load',),
             'vprintf',
             'vsprintf',
             'wordwrap'),
- 'Sybase': ('sybase_affected_rows',
-            'sybase_close',
-            'sybase_connect',
-            'sybase_data_seek',
-            'sybase_deadlock_retry_count',
-            'sybase_fetch_array',
-            'sybase_fetch_assoc',
-            'sybase_fetch_field',
-            'sybase_fetch_object',
-            'sybase_fetch_row',
-            'sybase_field_seek',
-            'sybase_free_result',
-            'sybase_get_last_message',
-            'sybase_min_client_severity',
-            'sybase_min_error_severity',
-            'sybase_min_message_severity',
-            'sybase_min_server_severity',
-            'sybase_num_fields',
-            'sybase_num_rows',
-            'sybase_pconnect',
-            'sybase_query',
-            'sybase_result',
-            'sybase_select_db',
-            'sybase_set_message_handler',
-            'sybase_unbuffered_query'),
+ 'Swoole': ('swoole_async_dns_lookup',
+            'swoole_async_read',
+            'swoole_async_readfile',
+            'swoole_async_set',
+            'swoole_async_write',
+            'swoole_async_writefile',
+            'swoole_clear_error',
+            'swoole_client_select',
+            'swoole_cpu_num',
+            'swoole_errno',
+            'swoole_error_log',
+            'swoole_event_add',
+            'swoole_event_defer',
+            'swoole_event_del',
+            'swoole_event_exit',
+            'swoole_event_set',
+            'swoole_event_wait',
+            'swoole_event_write',
+            'swoole_get_local_ip',
+            'swoole_last_error',
+            'swoole_load_module',
+            'swoole_select',
+            'swoole_set_process_name',
+            'swoole_strerror',
+            'swoole_timer_after',
+            'swoole_timer_exists',
+            'swoole_timer_tick',
+            'swoole_version'),
  'TCP': ('tcpwrap_check',),
  'Taint': ('is_tainted', 'taint', 'untaint'),
  'Tidy': ('ob_tidyhandler',
@@ -4016,11 +2713,6 @@ MODULES = {'.NET': ('dotnet_load',),
           'tidy_config_count',
           'tidy_error_count',
           'tidy_get_output',
-          'tidy_load_config',
-          'tidy_reset_config',
-          'tidy_save_config',
-          'tidy_set_encoding',
-          'tidy_setopt',
           'tidy_warning_count'),
  'Tokenizer': ('token_get_all', 'token_name'),
  'Trader': ('trader_acos',
@@ -4196,36 +2888,56 @@ MODULES = {'.NET': ('dotnet_load',),
          'rawurlencode',
          'urldecode',
          'urlencode'),
- 'Uopz': ('uopz_backup',
+ 'Uopz': ('uopz_add_function',
+          'uopz_allow_exit',
+          'uopz_backup',
           'uopz_compose',
           'uopz_copy',
+          'uopz_del_function',
           'uopz_delete',
           'uopz_extend',
           'uopz_flags',
           'uopz_function',
+          'uopz_get_exit_status',
+          'uopz_get_hook',
+          'uopz_get_mock',
+          'uopz_get_property',
+          'uopz_get_return',
+          'uopz_get_static',
           'uopz_implement',
           'uopz_overload',
           'uopz_redefine',
           'uopz_rename',
           'uopz_restore',
-          'uopz_undefine'),
+          'uopz_set_hook',
+          'uopz_set_mock',
+          'uopz_set_property',
+          'uopz_set_return',
+          'uopz_set_static',
+          'uopz_undefine',
+          'uopz_unset_hook',
+          'uopz_unset_mock',
+          'uopz_unset_return'),
  'Variable handling': ('boolval',
                        'debug_zval_dump',
                        'doubleval',
                        'empty',
                        'floatval',
+                       'get_debug_type',
                        'get_defined_vars',
+                       'get_resource_id',
                        'get_resource_type',
                        'gettype',
-                       'import_request_variables',
                        'intval',
                        'is_array',
                        'is_bool',
                        'is_callable',
+                       'is_countable',
                        'is_double',
                        'is_float',
                        'is_int',
                        'is_integer',
+                       'is_iterable',
                        'is_long',
                        'is_null',
                        'is_numeric',
@@ -4243,11 +2955,6 @@ MODULES = {'.NET': ('dotnet_load',),
                        'unset',
                        'var_dump',
                        'var_export'),
- 'W32api': ('w32api_deftype',
-            'w32api_init_dtype',
-            'w32api_invoke_function',
-            'w32api_register_function',
-            'w32api_set_call_method'),
  'WDDX': ('wddx_add_vars',
           'wddx_deserialize',
           'wddx_packet_end',
@@ -4314,25 +3021,6 @@ MODULES = {'.NET': ('dotnet_load',),
              'xmlrpc_server_register_introspection_callback',
              'xmlrpc_server_register_method',
              'xmlrpc_set_type'),
- 'XSLT (PHP 4)': ('xslt_backend_info',
-                  'xslt_backend_name',
-                  'xslt_backend_version',
-                  'xslt_create',
-                  'xslt_errno',
-                  'xslt_error',
-                  'xslt_free',
-                  'xslt_getopt',
-                  'xslt_process',
-                  'xslt_set_base',
-                  'xslt_set_encoding',
-                  'xslt_set_error_handler',
-                  'xslt_set_log',
-                  'xslt_set_object',
-                  'xslt_set_sax_handler',
-                  'xslt_set_sax_handlers',
-                  'xslt_set_scheme_handler',
-                  'xslt_set_scheme_handlers',
-                  'xslt_setopt'),
  'Xhprof': ('xhprof_disable',
             'xhprof_enable',
             'xhprof_sample_disable',
@@ -4362,16 +3050,6 @@ MODULES = {'.NET': ('dotnet_load',),
          'yaz_sort',
          'yaz_syntax',
          'yaz_wait'),
- 'YP/NIS': ('yp_all',
-            'yp_cat',
-            'yp_err_string',
-            'yp_errno',
-            'yp_first',
-            'yp_get_default_domain',
-            'yp_master',
-            'yp_match',
-            'yp_next',
-            'yp_order'),
  'Yaml': ('yaml_emit_file',
           'yaml_emit',
           'yaml_parse_file',
@@ -4387,7 +3065,9 @@ MODULES = {'.NET': ('dotnet_load',),
          'zip_entry_read',
          'zip_open',
          'zip_read'),
- 'Zlib': ('gzclose',
+ 'Zlib': ('deflate_add',
+          'deflate_init',
+          'gzclose',
           'gzcompress',
           'gzdecode',
           'gzdeflate',
@@ -4407,23 +3087,15 @@ MODULES = {'.NET': ('dotnet_load',),
           'gztell',
           'gzuncompress',
           'gzwrite',
+          'inflate_add',
+          'inflate_get_read_len',
+          'inflate_get_status',
+          'inflate_init',
           'readgzfile',
           'zlib_decode',
           'zlib_encode',
           'zlib_get_coding_type'),
- 'bcompiler': ('bcompiler_load_exe',
-               'bcompiler_load',
-               'bcompiler_parse_class',
-               'bcompiler_read',
-               'bcompiler_write_class',
-               'bcompiler_write_constant',
-               'bcompiler_write_exe_footer',
-               'bcompiler_write_file',
-               'bcompiler_write_footer',
-               'bcompiler_write_function',
-               'bcompiler_write_functions_from_file',
-               'bcompiler_write_header',
-               'bcompiler_write_included_filename'),
+ 'ZooKeeper': ('zookeeper_dispatch',),
  'cURL': ('curl_close',
           'curl_copy_handle',
           'curl_errno',
@@ -4435,6 +3107,7 @@ MODULES = {'.NET': ('dotnet_load',),
           'curl_init',
           'curl_multi_add_handle',
           'curl_multi_close',
+          'curl_multi_errno',
           'curl_multi_exec',
           'curl_multi_getcontent',
           'curl_multi_info_read',
@@ -4448,12 +3121,13 @@ MODULES = {'.NET': ('dotnet_load',),
           'curl_setopt_array',
           'curl_setopt',
           'curl_share_close',
+          'curl_share_errno',
           'curl_share_init',
           'curl_share_setopt',
+          'curl_share_strerror',
           'curl_strerror',
           'curl_unescape',
           'curl_version'),
- 'chdb': ('chdb_create',),
  'dBase': ('dbase_add_record',
            'dbase_close',
            'dbase_create',
@@ -4466,21 +3140,6 @@ MODULES = {'.NET': ('dotnet_load',),
            'dbase_open',
            'dbase_pack',
            'dbase_replace_record'),
- 'dbx': ('dbx_close',
-         'dbx_compare',
-         'dbx_connect',
-         'dbx_error',
-         'dbx_escape_string',
-         'dbx_fetch_row',
-         'dbx_query',
-         'dbx_sort'),
- 'filePro': ('filepro_fieldcount',
-             'filepro_fieldname',
-             'filepro_fieldtype',
-             'filepro_fieldwidth',
-             'filepro_retrieve',
-             'filepro_rowcount',
-             'filepro'),
  'iconv': ('iconv_get_encoding',
            'iconv_mime_decode_headers',
            'iconv_mime_decode',
@@ -4492,7 +3151,6 @@ MODULES = {'.NET': ('dotnet_load',),
            'iconv_substr',
            'iconv',
            'ob_iconv_handler'),
- 'inclued': ('inclued_get_data',),
  'intl': ('intl_error_name',
           'intl_get_error_code',
           'intl_get_error_message',
@@ -4504,70 +3162,6 @@ MODULES = {'.NET': ('dotnet_load',),
             'libxml_set_external_entity_loader',
             'libxml_set_streams_context',
             'libxml_use_internal_errors'),
- 'mSQL': ('msql_affected_rows',
-          'msql_close',
-          'msql_connect',
-          'msql_create_db',
-          'msql_createdb',
-          'msql_data_seek',
-          'msql_db_query',
-          'msql_dbname',
-          'msql_drop_db',
-          'msql_error',
-          'msql_fetch_array',
-          'msql_fetch_field',
-          'msql_fetch_object',
-          'msql_fetch_row',
-          'msql_field_flags',
-          'msql_field_len',
-          'msql_field_name',
-          'msql_field_seek',
-          'msql_field_table',
-          'msql_field_type',
-          'msql_fieldflags',
-          'msql_fieldlen',
-          'msql_fieldname',
-          'msql_fieldtable',
-          'msql_fieldtype',
-          'msql_free_result',
-          'msql_list_dbs',
-          'msql_list_fields',
-          'msql_list_tables',
-          'msql_num_fields',
-          'msql_num_rows',
-          'msql_numfields',
-          'msql_numrows',
-          'msql_pconnect',
-          'msql_query',
-          'msql_regcase',
-          'msql_result',
-          'msql_select_db',
-          'msql_tablename',
-          'msql'),
- 'mnoGoSearch': ('udm_add_search_limit',
-                 'udm_alloc_agent_array',
-                 'udm_alloc_agent',
-                 'udm_api_version',
-                 'udm_cat_list',
-                 'udm_cat_path',
-                 'udm_check_charset',
-                 'udm_check_stored',
-                 'udm_clear_search_limits',
-                 'udm_close_stored',
-                 'udm_crc32',
-                 'udm_errno',
-                 'udm_error',
-                 'udm_find',
-                 'udm_free_agent',
-                 'udm_free_ispell_data',
-                 'udm_free_res',
-                 'udm_get_doc_count',
-                 'udm_get_res_field',
-                 'udm_get_res_param',
-                 'udm_hash32',
-                 'udm_load_ispell_data',
-                 'udm_open_stored',
-                 'udm_set_agent_param'),
  'mqseries': ('mqseries_back',
               'mqseries_begin',
               'mqseries_close',
@@ -4582,65 +3176,47 @@ MODULES = {'.NET': ('dotnet_load',),
               'mqseries_put',
               'mqseries_set',
               'mqseries_strerror'),
- 'mysqlnd_qc': ('mysqlnd_qc_clear_cache',
-                'mysqlnd_qc_get_available_handlers',
-                'mysqlnd_qc_get_cache_info',
-                'mysqlnd_qc_get_core_stats',
-                'mysqlnd_qc_get_normalized_query_trace_log',
-                'mysqlnd_qc_get_query_trace_log',
-                'mysqlnd_qc_set_cache_condition',
-                'mysqlnd_qc_set_is_select',
-                'mysqlnd_qc_set_storage_handler',
-                'mysqlnd_qc_set_user_handlers'),
- 'qtdom': ('qdom_error', 'qdom_tree'),
- 'runkit': ('runkit_class_adopt',
-            'runkit_class_emancipate',
-            'runkit_constant_add',
-            'runkit_constant_redefine',
-            'runkit_constant_remove',
-            'runkit_function_add',
-            'runkit_function_copy',
-            'runkit_function_redefine',
-            'runkit_function_remove',
-            'runkit_function_rename',
-            'runkit_import',
-            'runkit_lint_file',
-            'runkit_lint',
-            'runkit_method_add',
-            'runkit_method_copy',
-            'runkit_method_redefine',
-            'runkit_method_remove',
-            'runkit_method_rename',
-            'runkit_return_value_used',
-            'runkit_sandbox_output_handler',
-            'runkit_superglobals'),
+ 'phpdbg': ('phpdbg_break_file',
+            'phpdbg_break_function',
+            'phpdbg_break_method',
+            'phpdbg_break_next',
+            'phpdbg_clear',
+            'phpdbg_color',
+            'phpdbg_end_oplog',
+            'phpdbg_exec',
+            'phpdbg_get_executable',
+            'phpdbg_prompt',
+            'phpdbg_start_oplog'),
+ 'runkit7': ('runkit7_constant_add',
+             'runkit7_constant_redefine',
+             'runkit7_constant_remove',
+             'runkit7_function_add',
+             'runkit7_function_copy',
+             'runkit7_function_redefine',
+             'runkit7_function_remove',
+             'runkit7_function_rename',
+             'runkit7_import',
+             'runkit7_method_add',
+             'runkit7_method_copy',
+             'runkit7_method_redefine',
+             'runkit7_method_remove',
+             'runkit7_method_rename',
+             'runkit7_object_id',
+             'runkit7_superglobals',
+             'runkit7_zval_inspect'),
  'ssdeep': ('ssdeep_fuzzy_compare',
             'ssdeep_fuzzy_hash_filename',
             'ssdeep_fuzzy_hash'),
- 'vpopmail': ('vpopmail_add_alias_domain_ex',
-              'vpopmail_add_alias_domain',
-              'vpopmail_add_domain_ex',
-              'vpopmail_add_domain',
-              'vpopmail_add_user',
-              'vpopmail_alias_add',
-              'vpopmail_alias_del_domain',
-              'vpopmail_alias_del',
-              'vpopmail_alias_get_all',
-              'vpopmail_alias_get',
-              'vpopmail_auth_user',
-              'vpopmail_del_domain_ex',
-              'vpopmail_del_domain',
-              'vpopmail_del_user',
-              'vpopmail_error',
-              'vpopmail_passwd',
-              'vpopmail_set_user_quota'),
- 'win32ps': ('win32_ps_list_procs', 'win32_ps_stat_mem', 'win32_ps_stat_proc'),
+ 'var_representation': ('var_representation',),
  'win32service': ('win32_continue_service',
                   'win32_create_service',
                   'win32_delete_service',
                   'win32_get_last_control_message',
                   'win32_pause_service',
                   'win32_query_service_status',
+                  'win32_send_custom_control',
+                  'win32_set_service_exit_code',
+                  'win32_set_service_exit_mode',
                   'win32_set_service_status',
                   'win32_start_service_ctrl_dispatcher',
                   'win32_start_service',
@@ -4669,7 +3245,6 @@ MODULES = {'.NET': ('dotnet_load',),
            'xdiff_string_patch',
            'xdiff_string_rabdiff')}
 
-
 if __name__ == '__main__':  # pragma: no cover
     import glob
     import os
@@ -4677,10 +3252,7 @@ if __name__ == '__main__':  # pragma: no cover
     import re
     import shutil
     import tarfile
-    try:
-        from urllib import urlretrieve
-    except ImportError:
-        from urllib.request import urlretrieve
+    from urllib.request import urlretrieve
 
     PHP_MANUAL_URL     = 'http://us3.php.net/distributions/manual/php_manual_en.tar.gz'
     PHP_MANUAL_DIR     = './php-chunked-xhtml/'
@@ -4706,20 +3278,21 @@ if __name__ == '__main__':  # pragma: no cover
                     elif 'href="function.' in line:
                         for match in function_re.finditer(line):
                             fn = match.group(1)
-                            if '-&gt;' not in fn and '::' not in fn and fn not in modules[module]:
+                            if '»' not in fn and '«' not in fn and \
+                               '::' not in fn and '\\' not in fn and \
+                               fn not in modules[module]:
                                 modules[module].append(fn)
 
             if module:
                 # These are dummy manual pages, not actual functions
-                if module == 'PHP Options/Info':
-                    modules[module].remove('main')
-
                 if module == 'Filesystem':
                     modules[module].remove('delete')
 
                 if not modules[module]:
                     del modules[module]
 
+        for key in modules:
+            modules[key] = tuple(modules[key])
         return modules
 
     def get_php_references():
index 93bc42059ab1a0fc07bb3d8600415acdbb57dca7..3305f845183cbdca47d580f783227220c49f908a 100644 (file)
@@ -4,11 +4,12 @@
 
     Self-updating data files for PostgreSQL lexer.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    Run with `python -I` to update itself.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
-
 # Autogenerated: please edit them if you like wasting your time.
 
 KEYWORDS = (
@@ -31,10 +32,12 @@ KEYWORDS = (
     'ARRAY',
     'AS',
     'ASC',
+    'ASENSITIVE',
     'ASSERTION',
     'ASSIGNMENT',
     'ASYMMETRIC',
     'AT',
+    'ATOMIC',
     'ATTACH',
     'ATTRIBUTE',
     'AUTHORIZATION',
@@ -47,6 +50,7 @@ KEYWORDS = (
     'BIT',
     'BOOLEAN',
     'BOTH',
+    'BREADTH',
     'BY',
     'CACHE',
     'CALL',
@@ -74,6 +78,7 @@ KEYWORDS = (
     'COMMENTS',
     'COMMIT',
     'COMMITTED',
+    'COMPRESSION',
     'CONCURRENTLY',
     'CONFIGURATION',
     'CONFLICT',
@@ -115,6 +120,7 @@ KEYWORDS = (
     'DELIMITER',
     'DELIMITERS',
     'DEPENDS',
+    'DEPTH',
     'DESC',
     'DETACH',
     'DICTIONARY',
@@ -150,6 +156,7 @@ KEYWORDS = (
     'FAMILY',
     'FETCH',
     'FILTER',
+    'FINALIZE',
     'FIRST',
     'FLOAT',
     'FOLLOWING',
@@ -331,6 +338,7 @@ KEYWORDS = (
     'RESET',
     'RESTART',
     'RESTRICT',
+    'RETURN',
     'RETURNING',
     'RETURNS',
     'REVOKE',
@@ -531,10 +539,12 @@ PSEUDO_TYPES = (
     'anyarray',
     'anycompatible',
     'anycompatiblearray',
+    'anycompatiblemultirange',
     'anycompatiblenonarray',
     'anycompatiblerange',
     'anyelement',
     'anyenum',
+    'anymultirange',
     'anynonarray',
     'anyrange',
     'cstring',
@@ -564,10 +574,7 @@ PLPGSQL_KEYWORDS = (
 
 if __name__ == '__main__':  # pragma: no cover
     import re
-    try:
-        from urllib import urlopen
-    except ImportError:
-        from urllib.request import urlopen
+    from urllib.request import urlopen
 
     from pygments.util import format_lines
 
diff --git a/pygments/lexers/_qlik_builtins.py b/pygments/lexers/_qlik_builtins.py
new file mode 100644 (file)
index 0000000..d2759b1
--- /dev/null
@@ -0,0 +1,666 @@
+"""
+    pygments.lexers._qlik_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Qlik builtins.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+# operators
+#   see https://help.qlik.com/en-US/sense/August2021/Subsystems/Hub/Content/Sense_Hub/Scripting/Operators/operators.htm
+OPERATORS_LIST = {
+    "words": [
+        # Bit operators
+        "bitnot",
+        "bitand",
+        "bitor",
+        "bitxor",
+        # Logical operators
+        "and",
+        "or",
+        "not",
+        "xor",
+        # Relational operators
+        "precedes",
+        "follows",
+        # String operators
+        "like",
+    ],
+    "symbols": [
+        # Bit operators
+        ">>",
+        "<<",
+        # Logical operators
+        # Numeric operators
+        "+",
+        "-",
+        "/",
+        "*",
+        # Relational operators
+        "<",
+        "<=",
+        ">",
+        ">=",
+        "=",
+        "<>",
+        # String operators
+        "&",
+    ],
+}
+
+# SCRIPT STATEMENTS
+#   see https://help.qlik.com/en-US/sense/August2021/Subsystems/Hub/Content/Sense_Hub/Scripting/
+STATEMENT_LIST = [
+    # control statements
+    "for",
+    "each",
+    "in",
+    "next",
+    "do",
+    "while",
+    "until",
+    "unless",
+    "loop",
+    "return",
+    "switch",
+    "case",
+    "default",
+    "if",
+    "else",
+    "endif",
+    "then",
+    "end",
+    "exit",
+    "script",
+    "switch",
+    # prefixes
+    "Add",
+    "Buffer",
+    "Concatenate",
+    "Crosstable",
+    "First",
+    "Generic",
+    "Hierarchy",
+    "HierarchyBelongsTo",
+    "Inner",
+    "IntervalMatch",
+    "Join",
+    "Keep",
+    "Left",
+    "Mapping",
+    "Merge",
+    "NoConcatenate",
+    "Outer",
+    "Partial reload",
+    "Replace",
+    "Right",
+    "Sample",
+    "Semantic",
+    "Unless",
+    "When",
+    # regular statements
+    "Alias",  # alias ... as ...
+    "as",
+    "AutoNumber",
+    "Binary",
+    "Comment field",  # comment fields ... using ...
+    "Comment fields",  # comment field ... with ...
+    "using",
+    "with",
+    "Comment table",  # comment table ... with ...
+    "Comment tables",  # comment tables ... using ...
+    "Connect",
+    "ODBC",  # ODBC CONNECT TO ...
+    "OLEBD",  # OLEDB CONNECT TO ...
+    "CUSTOM",  # CUSTOM CONNECT TO ...
+    "LIB",  # LIB CONNECT TO ...
+    "Declare",
+    "Derive",
+    "From",
+    "explicit",
+    "implicit",
+    "Direct Query",
+    "dimension",
+    "measure",
+    "Directory",
+    "Disconnect",
+    "Drop field",
+    "Drop fields",
+    "Drop table",
+    "Drop tables",
+    "Execute",
+    "FlushLog",
+    "Force",
+    "capitalization",
+    "case upper",
+    "case lower",
+    "case mixed",
+    "Load",
+    "distinct",
+    "from",
+    "inline",
+    "resident",
+    "from_field",
+    "autogenerate",
+    "extension",
+    "where",
+    "group by",
+    "order by",
+    "asc",
+    "desc",
+    "Let",
+    "Loosen Table",
+    "Map",
+    "NullAsNull",
+    "NullAsValue",
+    "Qualify",
+    "Rem",
+    "Rename field",
+    "Rename fields",
+    "Rename table",
+    "Rename tables",
+    "Search",
+    "include",
+    "exclude",
+    "Section",
+    "access",
+    "application",
+    "Select",
+    "Set",
+    "Sleep",
+    "SQL",
+    "SQLColumns",
+    "SQLTables",
+    "SQLTypes",
+    "Star",
+    "Store",
+    "Tag",
+    "Trace",
+    "Unmap",
+    "Unqualify",
+    "Untag",
+    # Qualifiers
+    "total",
+]
+
+# Script functions
+#    see https://help.qlik.com/en-US/sense/August2021/Subsystems/Hub/Content/Sense_Hub/Scripting/functions-in-scripts-chart-expressions.htm
+SCRIPT_FUNCTIONS = [
+    # Basic aggregation functions in the data load script
+    "FirstSortedValue",
+    "Max",
+    "Min",
+    "Mode",
+    "Only",
+    "Sum",
+    # Counter aggregation functions in the data load script
+    "Count",
+    "MissingCount",
+    "NullCount",
+    "NumericCount",
+    "TextCount",
+    # Financial aggregation functions in the data load script
+    "IRR",
+    "XIRR",
+    "NPV",
+    "XNPV",
+    # Statistical aggregation functions in the data load script
+    "Avg",
+    "Correl",
+    "Fractile",
+    "FractileExc",
+    "Kurtosis",
+    "LINEST_B" "LINEST_df",
+    "LINEST_f",
+    "LINEST_m",
+    "LINEST_r2",
+    "LINEST_seb",
+    "LINEST_sem",
+    "LINEST_sey",
+    "LINEST_ssreg",
+    "Linest_ssresid",
+    "Median",
+    "Skew",
+    "Stdev",
+    "Sterr",
+    "STEYX",
+    # Statistical test functions
+    "Chi2Test_chi2",
+    "Chi2Test_df",
+    "Chi2Test_p",
+    # Two independent samples t-tests
+    "ttest_conf",
+    "ttest_df",
+    "ttest_dif",
+    "ttest_lower",
+    "ttest_sig",
+    "ttest_sterr",
+    "ttest_t",
+    "ttest_upper",
+    # Two independent weighted samples t-tests
+    "ttestw_conf",
+    "ttestw_df",
+    "ttestw_dif",
+    "ttestw_lower",
+    "ttestw_sig",
+    "ttestw_sterr",
+    "ttestw_t",
+    "ttestw_upper",
+    # One sample t-tests
+    "ttest1_conf",
+    "ttest1_df",
+    "ttest1_dif",
+    "ttest1_lower",
+    "ttest1_sig",
+    "ttest1_sterr",
+    "ttest1_t",
+    "ttest1_upper",
+    # One weighted sample t-tests
+    "ttest1w_conf",
+    "ttest1w_df",
+    "ttest1w_dif",
+    "ttest1w_lower",
+    "ttest1w_sig",
+    "ttest1w_sterr",
+    "ttest1w_t",
+    "ttest1w_upper",
+    # One column format functions
+    "ztest_conf",
+    "ztest_dif",
+    "ztest_sig",
+    "ztest_sterr",
+    "ztest_z",
+    "ztest_lower",
+    "ztest_upper",
+    # Weighted two-column format functions
+    "ztestw_conf",
+    "ztestw_dif",
+    "ztestw_lower",
+    "ztestw_sig",
+    "ztestw_sterr",
+    "ztestw_upper",
+    "ztestw_z",
+    # String aggregation functions in the data load script
+    "Concat",
+    "FirstValue",
+    "LastValue",
+    "MaxString",
+    "MinString",
+    # Synthetic dimension functions
+    "ValueList",
+    "ValueLoop",
+    # Color functions
+    "ARGB",
+    "HSL",
+    "RGB",
+    "Color",
+    "Colormix1",
+    "Colormix2",
+    "SysColor",
+    "ColorMapHue",
+    "ColorMapJet",
+    "black",
+    "blue",
+    "brown",
+    "cyan",
+    "darkgray",
+    "green",
+    "lightblue",
+    "lightcyan",
+    "lightgray",
+    "lightgreen",
+    "lightmagenta",
+    "lightred",
+    "magenta",
+    "red",
+    "white",
+    "yellow",
+    # Conditional functions
+    "alt",
+    "class",
+    "coalesce",
+    "if",
+    "match",
+    "mixmatch",
+    "pick",
+    "wildmatch",
+    # Counter functions
+    "autonumber",
+    "autonumberhash128",
+    "autonumberhash256",
+    "IterNo",
+    "RecNo",
+    "RowNo",
+    # Integer expressions of time
+    "second",
+    "minute",
+    "hour",
+    "day",
+    "week",
+    "month",
+    "year",
+    "weekyear",
+    "weekday",
+    # Timestamp functions
+    "now",
+    "today",
+    "LocalTime",
+    # Make functions
+    "makedate",
+    "makeweekdate",
+    "maketime",
+    # Other date functions
+    "AddMonths",
+    "AddYears",
+    "yeartodate",
+    # Timezone functions
+    "timezone",
+    "GMT",
+    "UTC",
+    "daylightsaving",
+    "converttolocaltime",
+    # Set time functions
+    "setdateyear",
+    "setdateyearmonth",
+    # In... functions
+    "inyear",
+    "inyeartodate",
+    "inquarter",
+    "inquartertodate",
+    "inmonth",
+    "inmonthtodate",
+    "inmonths",
+    "inmonthstodate",
+    "inweek",
+    "inweektodate",
+    "inlunarweek",
+    "inlunarweektodate",
+    "inday",
+    "indaytotime",
+    # Start ... end functions
+    "yearstart",
+    "yearend",
+    "yearname",
+    "quarterstart",
+    "quarterend",
+    "quartername",
+    "monthstart",
+    "monthend",
+    "monthname",
+    "monthsstart",
+    "monthsend",
+    "monthsname",
+    "weekstart",
+    "weekend",
+    "weekname",
+    "lunarweekstart",
+    "lunarweekend",
+    "lunarweekname",
+    "daystart",
+    "dayend",
+    "dayname",
+    # Day numbering functions
+    "age",
+    "networkdays",
+    "firstworkdate",
+    "lastworkdate",
+    "daynumberofyear",
+    "daynumberofquarter",
+    # Exponential and logarithmic
+    "exp",
+    "log",
+    "log10",
+    "pow",
+    "sqr",
+    "sqrt",
+    # Count functions
+    "GetAlternativeCount",
+    "GetExcludedCount",
+    "GetNotSelectedCount",
+    "GetPossibleCount",
+    "GetSelectedCount",
+    # Field and selection functions
+    "GetCurrentSelections",
+    "GetFieldSelections",
+    "GetObjectDimension",
+    "GetObjectField",
+    "GetObjectMeasure",
+    # File functions
+    "Attribute",
+    "ConnectString",
+    "FileBaseName",
+    "FileDir",
+    "FileExtension",
+    "FileName",
+    "FilePath",
+    "FileSize",
+    "FileTime",
+    "GetFolderPath",
+    "QvdCreateTime",
+    "QvdFieldName",
+    "QvdNoOfFields",
+    "QvdNoOfRecords",
+    "QvdTableName",
+    # Financial functions
+    "FV",
+    "nPer",
+    "Pmt",
+    "PV",
+    "Rate",
+    # Formatting functions
+    "ApplyCodepage",
+    "Date",
+    "Dual",
+    "Interval",
+    "Money",
+    "Num",
+    "Time",
+    "Timestamp",
+    # General numeric functions
+    "bitcount",
+    "div",
+    "fabs",
+    "fact",
+    "frac",
+    "sign",
+    # Combination and permutation functions
+    "combin",
+    "permut",
+    # Modulo functions
+    "fmod",
+    "mod",
+    # Parity functions
+    "even",
+    "odd",
+    # Rounding functions
+    "ceil",
+    "floor",
+    "round",
+    # Geospatial functions
+    "GeoAggrGeometry",
+    "GeoBoundingBox",
+    "GeoCountVertex",
+    "GeoInvProjectGeometry",
+    "GeoProjectGeometry",
+    "GeoReduceGeometry",
+    "GeoGetBoundingBox",
+    "GeoGetPolygonCenter",
+    "GeoMakePoint",
+    "GeoProject",
+    # Interpretation functions
+    "Date#",
+    "Interval#",
+    "Money#",
+    "Num#",
+    "Text",
+    "Time#",
+    "Timestamp#",
+    # Field functions
+    "FieldIndex",
+    "FieldValue",
+    "FieldValueCount",
+    # Inter-record functions in the data load script
+    "Exists",
+    "LookUp",
+    "Peek",
+    "Previous",
+    # Logical functions
+    "IsNum",
+    "IsText",
+    # Mapping functions
+    "ApplyMap",
+    "MapSubstring",
+    # Mathematical functions
+    "e",
+    "false",
+    "pi",
+    "rand",
+    "true",
+    # NULL functions
+    "EmptyIsNull",
+    "IsNull",
+    "Null",
+    # Basic range functions
+    "RangeMax",
+    "RangeMaxString",
+    "RangeMin",
+    "RangeMinString",
+    "RangeMode",
+    "RangeOnly",
+    "RangeSum",
+    # Counter range functions
+    "RangeCount",
+    "RangeMissingCount",
+    "RangeNullCount",
+    "RangeNumericCount",
+    "RangeTextCount",
+    # Statistical range functions
+    "RangeAvg",
+    "RangeCorrel",
+    "RangeFractile",
+    "RangeKurtosis",
+    "RangeSkew",
+    "RangeStdev",
+    # Financial range functions
+    "RangeIRR",
+    "RangeNPV",
+    "RangeXIRR",
+    "RangeXNPV",
+    # Statistical distribution
+    "CHIDIST",
+    "CHIINV",
+    "NORMDIST",
+    "NORMINV",
+    "TDIST",
+    "TINV",
+    "FDIST",
+    "FINV",
+    # String functions
+    "Capitalize",
+    "Chr",
+    "Evaluate",
+    "FindOneOf",
+    "Hash128",
+    "Hash160",
+    "Hash256",
+    "Index",
+    "KeepChar",
+    "Left",
+    "Len",
+    "LevenshteinDist",
+    "Lower",
+    "LTrim",
+    "Mid",
+    "Ord",
+    "PurgeChar",
+    "Repeat",
+    "Replace",
+    "Right",
+    "RTrim",
+    "SubField",
+    "SubStringCount",
+    "TextBetween",
+    "Trim",
+    "Upper",
+    # System functions
+    "Author",
+    "ClientPlatform",
+    "ComputerName",
+    "DocumentName",
+    "DocumentPath",
+    "DocumentTitle",
+    "EngineVersion",
+    "GetCollationLocale",
+    "GetObjectField",
+    "GetRegistryString",
+    "IsPartialReload",
+    "OSUser",
+    "ProductVersion",
+    "ReloadTime",
+    "StateName",
+    # Table functions
+    "FieldName",
+    "FieldNumber",
+    "NoOfFields",
+    "NoOfRows",
+    "NoOfTables",
+    "TableName",
+    "TableNumber",
+]
+
+# System variables and constants
+# see https://help.qlik.com/en-US/sense/August2021/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-variables-in-data-load-editor.htm
+CONSTANT_LIST = [
+    # System Variables
+    "floppy",
+    "cd",
+    "include",
+    "must_include",
+    "hideprefix",
+    "hidesuffix",
+    "qvpath",
+    "qvroot",
+    "QvWorkPath",
+    "QvWorkRoot",
+    "StripComments",
+    "Verbatim",
+    "OpenUrlTimeout",
+    "WinPath",
+    "WinRoot",
+    "CollationLocale",
+    "CreateSearchIndexOnReload",
+    # value handling variables
+    "NullDisplay",
+    "NullInterpret",
+    "NullValue",
+    "OtherSymbol",
+    # Currency formatting
+    "MoneyDecimalSep",
+    "MoneyFormat",
+    "MoneyThousandSep",
+    # Number formatting
+    "DecimalSep",
+    "ThousandSep",
+    "NumericalAbbreviation",
+    # Time formatting
+    "DateFormat",
+    "TimeFormat",
+    "TimestampFormat",
+    "MonthNames",
+    "LongMonthNames",
+    "DayNames",
+    "LongDayNames",
+    "FirstWeekDay",
+    "BrokenWeeks",
+    "ReferenceDay",
+    "FirstMonthOfYear",
+    # Error variables
+    "errormode",
+    "scripterror",
+    "scripterrorcount",
+    "scripterrorlist",
+    # Other
+    "null",
+]
diff --git a/pygments/lexers/_scheme_builtins.py b/pygments/lexers/_scheme_builtins.py
new file mode 100644 (file)
index 0000000..4453511
--- /dev/null
@@ -0,0 +1,1609 @@
+"""
+    pygments.lexers._scheme_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Scheme builtins.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+# Autogenerated by external/scheme-builtins-generator.scm
+# using Guile 3.0.5.130-5a1e7.
+
+scheme_keywords = {
+    "*unspecified*",
+    "...",
+    "=>",
+    "@",
+    "@@",
+    "_",
+    "add-to-load-path",
+    "and",
+    "begin",
+    "begin-deprecated",
+    "case",
+    "case-lambda",
+    "case-lambda*",
+    "cond",
+    "cond-expand",
+    "current-filename",
+    "current-source-location",
+    "debug-set!",
+    "define",
+    "define*",
+    "define-inlinable",
+    "define-library",
+    "define-macro",
+    "define-module",
+    "define-once",
+    "define-option-interface",
+    "define-private",
+    "define-public",
+    "define-record-type",
+    "define-syntax",
+    "define-syntax-parameter",
+    "define-syntax-rule",
+    "define-values",
+    "defmacro",
+    "defmacro-public",
+    "delay",
+    "do",
+    "else",
+    "eval-when",
+    "export",
+    "export!",
+    "export-syntax",
+    "false-if-exception",
+    "identifier-syntax",
+    "if",
+    "import",
+    "include",
+    "include-ci",
+    "include-from-path",
+    "include-library-declarations",
+    "lambda",
+    "lambda*",
+    "let",
+    "let*",
+    "let*-values",
+    "let-syntax",
+    "let-values",
+    "letrec",
+    "letrec*",
+    "letrec-syntax",
+    "library",
+    "load",
+    "match",
+    "match-lambda",
+    "match-lambda*",
+    "match-let",
+    "match-let*",
+    "match-letrec",
+    "or",
+    "parameterize",
+    "print-set!",
+    "quasiquote",
+    "quasisyntax",
+    "quote",
+    "quote-syntax",
+    "re-export",
+    "re-export-syntax",
+    "read-set!",
+    "require-extension",
+    "set!",
+    "start-stack",
+    "syntax",
+    "syntax-case",
+    "syntax-error",
+    "syntax-parameterize",
+    "syntax-rules",
+    "unless",
+    "unquote",
+    "unquote-splicing",
+    "unsyntax",
+    "unsyntax-splicing",
+    "use-modules",
+    "when",
+    "while",
+    "with-ellipsis",
+    "with-fluids",
+    "with-syntax",
+    "λ",
+}
+
+scheme_builtins = {
+    "$sc-dispatch",
+    "%char-set-dump",
+    "%get-pre-modules-obarray",
+    "%get-stack-size",
+    "%global-site-dir",
+    "%init-rdelim-builtins",
+    "%init-rw-builtins",
+    "%library-dir",
+    "%load-announce",
+    "%load-hook",
+    "%make-void-port",
+    "%package-data-dir",
+    "%port-property",
+    "%print-module",
+    "%resolve-variable",
+    "%search-load-path",
+    "%set-port-property!",
+    "%site-ccache-dir",
+    "%site-dir",
+    "%start-stack",
+    "%string-dump",
+    "%symbol-dump",
+    "%warn-auto-compilation-enabled",
+    "*",
+    "+",
+    "-",
+    "->bool",
+    "->char-set",
+    "/",
+    "1+",
+    "1-",
+    "<",
+    "<=",
+    "=",
+    ">",
+    ">=",
+    "abort-to-prompt",
+    "abort-to-prompt*",
+    "abs",
+    "absolute-file-name?",
+    "accept",
+    "access?",
+    "acons",
+    "acos",
+    "acosh",
+    "add-hook!",
+    "addrinfo:addr",
+    "addrinfo:canonname",
+    "addrinfo:fam",
+    "addrinfo:flags",
+    "addrinfo:protocol",
+    "addrinfo:socktype",
+    "adjust-port-revealed!",
+    "alarm",
+    "alist-cons",
+    "alist-copy",
+    "alist-delete",
+    "alist-delete!",
+    "allocate-struct",
+    "and-map",
+    "and=>",
+    "angle",
+    "any",
+    "append",
+    "append!",
+    "append-map",
+    "append-map!",
+    "append-reverse",
+    "append-reverse!",
+    "apply",
+    "array->list",
+    "array-cell-ref",
+    "array-cell-set!",
+    "array-contents",
+    "array-copy!",
+    "array-copy-in-order!",
+    "array-dimensions",
+    "array-equal?",
+    "array-fill!",
+    "array-for-each",
+    "array-in-bounds?",
+    "array-index-map!",
+    "array-length",
+    "array-map!",
+    "array-map-in-order!",
+    "array-rank",
+    "array-ref",
+    "array-set!",
+    "array-shape",
+    "array-slice",
+    "array-slice-for-each",
+    "array-slice-for-each-in-order",
+    "array-type",
+    "array-type-code",
+    "array?",
+    "ash",
+    "asin",
+    "asinh",
+    "assert-load-verbosity",
+    "assoc",
+    "assoc-ref",
+    "assoc-remove!",
+    "assoc-set!",
+    "assq",
+    "assq-ref",
+    "assq-remove!",
+    "assq-set!",
+    "assv",
+    "assv-ref",
+    "assv-remove!",
+    "assv-set!",
+    "atan",
+    "atanh",
+    "autoload-done!",
+    "autoload-done-or-in-progress?",
+    "autoload-in-progress!",
+    "backtrace",
+    "basename",
+    "batch-mode?",
+    "beautify-user-module!",
+    "bind",
+    "bind-textdomain-codeset",
+    "bindtextdomain",
+    "bit-count",
+    "bit-count*",
+    "bit-extract",
+    "bit-invert!",
+    "bit-position",
+    "bit-set*!",
+    "bitvector",
+    "bitvector->list",
+    "bitvector-bit-clear?",
+    "bitvector-bit-set?",
+    "bitvector-clear-all-bits!",
+    "bitvector-clear-bit!",
+    "bitvector-clear-bits!",
+    "bitvector-count",
+    "bitvector-count-bits",
+    "bitvector-fill!",
+    "bitvector-flip-all-bits!",
+    "bitvector-length",
+    "bitvector-position",
+    "bitvector-ref",
+    "bitvector-set!",
+    "bitvector-set-all-bits!",
+    "bitvector-set-bit!",
+    "bitvector-set-bits!",
+    "bitvector?",
+    "boolean?",
+    "bound-identifier=?",
+    "break",
+    "break!",
+    "caaaar",
+    "caaadr",
+    "caaar",
+    "caadar",
+    "caaddr",
+    "caadr",
+    "caar",
+    "cadaar",
+    "cadadr",
+    "cadar",
+    "caddar",
+    "cadddr",
+    "caddr",
+    "cadr",
+    "call-with-blocked-asyncs",
+    "call-with-current-continuation",
+    "call-with-deferred-observers",
+    "call-with-include-port",
+    "call-with-input-file",
+    "call-with-input-string",
+    "call-with-module-autoload-lock",
+    "call-with-output-file",
+    "call-with-output-string",
+    "call-with-port",
+    "call-with-prompt",
+    "call-with-unblocked-asyncs",
+    "call-with-values",
+    "call/cc",
+    "canonicalize-path",
+    "car",
+    "car+cdr",
+    "catch",
+    "cdaaar",
+    "cdaadr",
+    "cdaar",
+    "cdadar",
+    "cdaddr",
+    "cdadr",
+    "cdar",
+    "cddaar",
+    "cddadr",
+    "cddar",
+    "cdddar",
+    "cddddr",
+    "cdddr",
+    "cddr",
+    "cdr",
+    "ceiling",
+    "ceiling-quotient",
+    "ceiling-remainder",
+    "ceiling/",
+    "centered-quotient",
+    "centered-remainder",
+    "centered/",
+    "char->integer",
+    "char-alphabetic?",
+    "char-ci<=?",
+    "char-ci<?",
+    "char-ci=?",
+    "char-ci>=?",
+    "char-ci>?",
+    "char-downcase",
+    "char-general-category",
+    "char-is-both?",
+    "char-lower-case?",
+    "char-numeric?",
+    "char-ready?",
+    "char-set",
+    "char-set->list",
+    "char-set->string",
+    "char-set-adjoin",
+    "char-set-adjoin!",
+    "char-set-any",
+    "char-set-complement",
+    "char-set-complement!",
+    "char-set-contains?",
+    "char-set-copy",
+    "char-set-count",
+    "char-set-cursor",
+    "char-set-cursor-next",
+    "char-set-delete",
+    "char-set-delete!",
+    "char-set-diff+intersection",
+    "char-set-diff+intersection!",
+    "char-set-difference",
+    "char-set-difference!",
+    "char-set-every",
+    "char-set-filter",
+    "char-set-filter!",
+    "char-set-fold",
+    "char-set-for-each",
+    "char-set-hash",
+    "char-set-intersection",
+    "char-set-intersection!",
+    "char-set-map",
+    "char-set-ref",
+    "char-set-size",
+    "char-set-unfold",
+    "char-set-unfold!",
+    "char-set-union",
+    "char-set-union!",
+    "char-set-xor",
+    "char-set-xor!",
+    "char-set<=",
+    "char-set=",
+    "char-set?",
+    "char-titlecase",
+    "char-upcase",
+    "char-upper-case?",
+    "char-whitespace?",
+    "char<=?",
+    "char<?",
+    "char=?",
+    "char>=?",
+    "char>?",
+    "char?",
+    "chdir",
+    "chmod",
+    "chown",
+    "chroot",
+    "circular-list",
+    "circular-list?",
+    "close",
+    "close-fdes",
+    "close-input-port",
+    "close-output-port",
+    "close-port",
+    "closedir",
+    "command-line",
+    "complex?",
+    "compose",
+    "concatenate",
+    "concatenate!",
+    "cond-expand-provide",
+    "connect",
+    "cons",
+    "cons*",
+    "cons-source",
+    "const",
+    "convert-assignment",
+    "copy-file",
+    "copy-random-state",
+    "copy-tree",
+    "cos",
+    "cosh",
+    "count",
+    "crypt",
+    "ctermid",
+    "current-dynamic-state",
+    "current-error-port",
+    "current-input-port",
+    "current-language",
+    "current-load-port",
+    "current-module",
+    "current-output-port",
+    "current-time",
+    "current-warning-port",
+    "datum->random-state",
+    "datum->syntax",
+    "debug-disable",
+    "debug-enable",
+    "debug-options",
+    "debug-options-interface",
+    "default-duplicate-binding-handler",
+    "default-duplicate-binding-procedures",
+    "default-prompt-tag",
+    "define!",
+    "define-module*",
+    "defined?",
+    "delete",
+    "delete!",
+    "delete-duplicates",
+    "delete-duplicates!",
+    "delete-file",
+    "delete1!",
+    "delq",
+    "delq!",
+    "delq1!",
+    "delv",
+    "delv!",
+    "delv1!",
+    "denominator",
+    "directory-stream?",
+    "dirname",
+    "display",
+    "display-application",
+    "display-backtrace",
+    "display-error",
+    "dotted-list?",
+    "doubly-weak-hash-table?",
+    "drain-input",
+    "drop",
+    "drop-right",
+    "drop-right!",
+    "drop-while",
+    "dup",
+    "dup->fdes",
+    "dup->inport",
+    "dup->outport",
+    "dup->port",
+    "dup2",
+    "duplicate-port",
+    "dynamic-call",
+    "dynamic-func",
+    "dynamic-link",
+    "dynamic-object?",
+    "dynamic-pointer",
+    "dynamic-state?",
+    "dynamic-unlink",
+    "dynamic-wind",
+    "effective-version",
+    "eighth",
+    "end-of-char-set?",
+    "endgrent",
+    "endhostent",
+    "endnetent",
+    "endprotoent",
+    "endpwent",
+    "endservent",
+    "ensure-batch-mode!",
+    "environ",
+    "eof-object?",
+    "eq?",
+    "equal?",
+    "eqv?",
+    "error",
+    "euclidean-quotient",
+    "euclidean-remainder",
+    "euclidean/",
+    "eval",
+    "eval-string",
+    "even?",
+    "every",
+    "exact->inexact",
+    "exact-integer-sqrt",
+    "exact-integer?",
+    "exact?",
+    "exception-accessor",
+    "exception-args",
+    "exception-kind",
+    "exception-predicate",
+    "exception-type?",
+    "exception?",
+    "execl",
+    "execle",
+    "execlp",
+    "exit",
+    "exp",
+    "expt",
+    "f32vector",
+    "f32vector->list",
+    "f32vector-length",
+    "f32vector-ref",
+    "f32vector-set!",
+    "f32vector?",
+    "f64vector",
+    "f64vector->list",
+    "f64vector-length",
+    "f64vector-ref",
+    "f64vector-set!",
+    "f64vector?",
+    "fcntl",
+    "fdes->inport",
+    "fdes->outport",
+    "fdes->ports",
+    "fdopen",
+    "fifth",
+    "file-encoding",
+    "file-exists?",
+    "file-is-directory?",
+    "file-name-separator?",
+    "file-port?",
+    "file-position",
+    "file-set-position",
+    "fileno",
+    "filter",
+    "filter!",
+    "filter-map",
+    "find",
+    "find-tail",
+    "finite?",
+    "first",
+    "flock",
+    "floor",
+    "floor-quotient",
+    "floor-remainder",
+    "floor/",
+    "fluid->parameter",
+    "fluid-bound?",
+    "fluid-ref",
+    "fluid-ref*",
+    "fluid-set!",
+    "fluid-thread-local?",
+    "fluid-unset!",
+    "fluid?",
+    "flush-all-ports",
+    "fold",
+    "fold-right",
+    "for-each",
+    "force",
+    "force-output",
+    "format",
+    "fourth",
+    "frame-address",
+    "frame-arguments",
+    "frame-dynamic-link",
+    "frame-instruction-pointer",
+    "frame-previous",
+    "frame-procedure-name",
+    "frame-return-address",
+    "frame-source",
+    "frame-stack-pointer",
+    "frame?",
+    "free-identifier=?",
+    "fsync",
+    "ftell",
+    "gai-strerror",
+    "gc",
+    "gc-disable",
+    "gc-dump",
+    "gc-enable",
+    "gc-run-time",
+    "gc-stats",
+    "gcd",
+    "generate-temporaries",
+    "gensym",
+    "get-internal-real-time",
+    "get-internal-run-time",
+    "get-output-string",
+    "get-print-state",
+    "getaddrinfo",
+    "getaffinity",
+    "getcwd",
+    "getegid",
+    "getenv",
+    "geteuid",
+    "getgid",
+    "getgr",
+    "getgrent",
+    "getgrgid",
+    "getgrnam",
+    "getgroups",
+    "gethost",
+    "gethostbyaddr",
+    "gethostbyname",
+    "gethostent",
+    "gethostname",
+    "getitimer",
+    "getlogin",
+    "getnet",
+    "getnetbyaddr",
+    "getnetbyname",
+    "getnetent",
+    "getpass",
+    "getpeername",
+    "getpgrp",
+    "getpid",
+    "getppid",
+    "getpriority",
+    "getproto",
+    "getprotobyname",
+    "getprotobynumber",
+    "getprotoent",
+    "getpw",
+    "getpwent",
+    "getpwnam",
+    "getpwuid",
+    "getrlimit",
+    "getserv",
+    "getservbyname",
+    "getservbyport",
+    "getservent",
+    "getsid",
+    "getsockname",
+    "getsockopt",
+    "gettext",
+    "gettimeofday",
+    "getuid",
+    "gmtime",
+    "group:gid",
+    "group:mem",
+    "group:name",
+    "group:passwd",
+    "hash",
+    "hash-clear!",
+    "hash-count",
+    "hash-create-handle!",
+    "hash-fold",
+    "hash-for-each",
+    "hash-for-each-handle",
+    "hash-get-handle",
+    "hash-map->list",
+    "hash-ref",
+    "hash-remove!",
+    "hash-set!",
+    "hash-table?",
+    "hashq",
+    "hashq-create-handle!",
+    "hashq-get-handle",
+    "hashq-ref",
+    "hashq-remove!",
+    "hashq-set!",
+    "hashv",
+    "hashv-create-handle!",
+    "hashv-get-handle",
+    "hashv-ref",
+    "hashv-remove!",
+    "hashv-set!",
+    "hashx-create-handle!",
+    "hashx-get-handle",
+    "hashx-ref",
+    "hashx-remove!",
+    "hashx-set!",
+    "hook->list",
+    "hook-empty?",
+    "hook?",
+    "hostent:addr-list",
+    "hostent:addrtype",
+    "hostent:aliases",
+    "hostent:length",
+    "hostent:name",
+    "identifier?",
+    "identity",
+    "imag-part",
+    "in-vicinity",
+    "include-deprecated-features",
+    "inet-lnaof",
+    "inet-makeaddr",
+    "inet-netof",
+    "inet-ntop",
+    "inet-pton",
+    "inexact->exact",
+    "inexact?",
+    "inf",
+    "inf?",
+    "inherit-print-state",
+    "input-port?",
+    "install-r6rs!",
+    "install-r7rs!",
+    "integer->char",
+    "integer-expt",
+    "integer-length",
+    "integer?",
+    "interaction-environment",
+    "iota",
+    "isatty?",
+    "issue-deprecation-warning",
+    "keyword->symbol",
+    "keyword-like-symbol->keyword",
+    "keyword?",
+    "kill",
+    "kw-arg-ref",
+    "last",
+    "last-pair",
+    "lcm",
+    "length",
+    "length+",
+    "link",
+    "list",
+    "list->array",
+    "list->bitvector",
+    "list->char-set",
+    "list->char-set!",
+    "list->f32vector",
+    "list->f64vector",
+    "list->s16vector",
+    "list->s32vector",
+    "list->s64vector",
+    "list->s8vector",
+    "list->string",
+    "list->symbol",
+    "list->typed-array",
+    "list->u16vector",
+    "list->u32vector",
+    "list->u64vector",
+    "list->u8vector",
+    "list->vector",
+    "list-cdr-ref",
+    "list-cdr-set!",
+    "list-copy",
+    "list-head",
+    "list-index",
+    "list-ref",
+    "list-set!",
+    "list-tabulate",
+    "list-tail",
+    "list=",
+    "list?",
+    "listen",
+    "load-compiled",
+    "load-extension",
+    "load-from-path",
+    "load-in-vicinity",
+    "load-user-init",
+    "local-define",
+    "local-define-module",
+    "local-ref",
+    "local-ref-module",
+    "local-remove",
+    "local-set!",
+    "localtime",
+    "log",
+    "log10",
+    "logand",
+    "logbit?",
+    "logcount",
+    "logior",
+    "lognot",
+    "logtest",
+    "logxor",
+    "lookup-duplicates-handlers",
+    "lset-adjoin",
+    "lset-diff+intersection",
+    "lset-diff+intersection!",
+    "lset-difference",
+    "lset-difference!",
+    "lset-intersection",
+    "lset-intersection!",
+    "lset-union",
+    "lset-union!",
+    "lset-xor",
+    "lset-xor!",
+    "lset<=",
+    "lset=",
+    "lstat",
+    "macro-binding",
+    "macro-name",
+    "macro-transformer",
+    "macro-type",
+    "macro?",
+    "macroexpand",
+    "macroexpanded?",
+    "magnitude",
+    "major-version",
+    "make-array",
+    "make-autoload-interface",
+    "make-bitvector",
+    "make-doubly-weak-hash-table",
+    "make-exception",
+    "make-exception-from-throw",
+    "make-exception-type",
+    "make-f32vector",
+    "make-f64vector",
+    "make-fluid",
+    "make-fresh-user-module",
+    "make-generalized-vector",
+    "make-guardian",
+    "make-hash-table",
+    "make-hook",
+    "make-list",
+    "make-module",
+    "make-modules-in",
+    "make-mutable-parameter",
+    "make-object-property",
+    "make-parameter",
+    "make-polar",
+    "make-procedure-with-setter",
+    "make-promise",
+    "make-prompt-tag",
+    "make-record-type",
+    "make-rectangular",
+    "make-regexp",
+    "make-s16vector",
+    "make-s32vector",
+    "make-s64vector",
+    "make-s8vector",
+    "make-shared-array",
+    "make-socket-address",
+    "make-soft-port",
+    "make-srfi-4-vector",
+    "make-stack",
+    "make-string",
+    "make-struct-layout",
+    "make-struct/no-tail",
+    "make-struct/simple",
+    "make-symbol",
+    "make-syntax-transformer",
+    "make-thread-local-fluid",
+    "make-typed-array",
+    "make-u16vector",
+    "make-u32vector",
+    "make-u64vector",
+    "make-u8vector",
+    "make-unbound-fluid",
+    "make-undefined-variable",
+    "make-variable",
+    "make-variable-transformer",
+    "make-vector",
+    "make-vtable",
+    "make-weak-key-hash-table",
+    "make-weak-value-hash-table",
+    "map",
+    "map!",
+    "map-in-order",
+    "max",
+    "member",
+    "memoize-expression",
+    "memoized-typecode",
+    "memq",
+    "memv",
+    "merge",
+    "merge!",
+    "micro-version",
+    "min",
+    "minor-version",
+    "mkdir",
+    "mkdtemp",
+    "mknod",
+    "mkstemp",
+    "mkstemp!",
+    "mktime",
+    "module-add!",
+    "module-autoload!",
+    "module-binder",
+    "module-bound?",
+    "module-call-observers",
+    "module-clear!",
+    "module-constructor",
+    "module-declarative?",
+    "module-defer-observers",
+    "module-define!",
+    "module-define-submodule!",
+    "module-defined?",
+    "module-duplicates-handlers",
+    "module-ensure-local-variable!",
+    "module-export!",
+    "module-export-all!",
+    "module-filename",
+    "module-for-each",
+    "module-generate-unique-id!",
+    "module-gensym",
+    "module-import-interface",
+    "module-import-obarray",
+    "module-kind",
+    "module-local-variable",
+    "module-locally-bound?",
+    "module-make-local-var!",
+    "module-map",
+    "module-modified",
+    "module-name",
+    "module-next-unique-id",
+    "module-obarray",
+    "module-obarray-get-handle",
+    "module-obarray-ref",
+    "module-obarray-remove!",
+    "module-obarray-set!",
+    "module-observe",
+    "module-observe-weak",
+    "module-observers",
+    "module-public-interface",
+    "module-re-export!",
+    "module-ref",
+    "module-ref-submodule",
+    "module-remove!",
+    "module-replace!",
+    "module-replacements",
+    "module-reverse-lookup",
+    "module-search",
+    "module-set!",
+    "module-submodule-binder",
+    "module-submodules",
+    "module-symbol-binding",
+    "module-symbol-interned?",
+    "module-symbol-local-binding",
+    "module-symbol-locally-interned?",
+    "module-transformer",
+    "module-unobserve",
+    "module-use!",
+    "module-use-interfaces!",
+    "module-uses",
+    "module-variable",
+    "module-version",
+    "module-weak-observers",
+    "module?",
+    "modulo",
+    "modulo-expt",
+    "move->fdes",
+    "nan",
+    "nan?",
+    "negate",
+    "negative?",
+    "nested-define!",
+    "nested-define-module!",
+    "nested-ref",
+    "nested-ref-module",
+    "nested-remove!",
+    "nested-set!",
+    "netent:addrtype",
+    "netent:aliases",
+    "netent:name",
+    "netent:net",
+    "newline",
+    "ngettext",
+    "nice",
+    "nil?",
+    "ninth",
+    "noop",
+    "not",
+    "not-pair?",
+    "null-environment",
+    "null-list?",
+    "null?",
+    "number->string",
+    "number?",
+    "numerator",
+    "object->string",
+    "object-address",
+    "object-properties",
+    "object-property",
+    "odd?",
+    "open",
+    "open-fdes",
+    "open-file",
+    "open-input-file",
+    "open-input-string",
+    "open-io-file",
+    "open-output-file",
+    "open-output-string",
+    "opendir",
+    "or-map",
+    "output-port?",
+    "pair-fold",
+    "pair-fold-right",
+    "pair-for-each",
+    "pair?",
+    "parameter-converter",
+    "parameter-fluid",
+    "parameter?",
+    "parse-path",
+    "parse-path-with-ellipsis",
+    "partition",
+    "partition!",
+    "passwd:dir",
+    "passwd:gecos",
+    "passwd:gid",
+    "passwd:name",
+    "passwd:passwd",
+    "passwd:shell",
+    "passwd:uid",
+    "pause",
+    "peek",
+    "peek-char",
+    "pipe",
+    "pk",
+    "port->fdes",
+    "port-closed?",
+    "port-column",
+    "port-conversion-strategy",
+    "port-encoding",
+    "port-filename",
+    "port-for-each",
+    "port-line",
+    "port-mode",
+    "port-revealed",
+    "port-with-print-state",
+    "port?",
+    "positive?",
+    "primitive-_exit",
+    "primitive-eval",
+    "primitive-exit",
+    "primitive-fork",
+    "primitive-load",
+    "primitive-load-path",
+    "primitive-move->fdes",
+    "primitive-read",
+    "print-disable",
+    "print-enable",
+    "print-exception",
+    "print-options",
+    "print-options-interface",
+    "procedure",
+    "procedure-documentation",
+    "procedure-minimum-arity",
+    "procedure-name",
+    "procedure-properties",
+    "procedure-property",
+    "procedure-source",
+    "procedure-with-setter?",
+    "procedure?",
+    "process-use-modules",
+    "program-arguments",
+    "promise?",
+    "proper-list?",
+    "protoent:aliases",
+    "protoent:name",
+    "protoent:proto",
+    "provide",
+    "provided?",
+    "purify-module!",
+    "putenv",
+    "quit",
+    "quotient",
+    "raise",
+    "raise-exception",
+    "random",
+    "random-state->datum",
+    "random-state-from-platform",
+    "random:exp",
+    "random:hollow-sphere!",
+    "random:normal",
+    "random:normal-vector!",
+    "random:solid-sphere!",
+    "random:uniform",
+    "rational?",
+    "rationalize",
+    "read",
+    "read-char",
+    "read-disable",
+    "read-enable",
+    "read-hash-extend",
+    "read-hash-procedure",
+    "read-hash-procedures",
+    "read-options",
+    "read-options-interface",
+    "read-syntax",
+    "readdir",
+    "readlink",
+    "real-part",
+    "real?",
+    "record-accessor",
+    "record-constructor",
+    "record-modifier",
+    "record-predicate",
+    "record-type-constructor",
+    "record-type-descriptor",
+    "record-type-extensible?",
+    "record-type-fields",
+    "record-type-has-parent?",
+    "record-type-mutable-fields",
+    "record-type-name",
+    "record-type-opaque?",
+    "record-type-parent",
+    "record-type-parents",
+    "record-type-properties",
+    "record-type-uid",
+    "record-type?",
+    "record?",
+    "recv!",
+    "recvfrom!",
+    "redirect-port",
+    "reduce",
+    "reduce-right",
+    "regexp-exec",
+    "regexp?",
+    "release-port-handle",
+    "reload-module",
+    "remainder",
+    "remove",
+    "remove!",
+    "remove-hook!",
+    "rename-file",
+    "repl-reader",
+    "reset-hook!",
+    "resolve-interface",
+    "resolve-module",
+    "resolve-r6rs-interface",
+    "restore-signals",
+    "restricted-vector-sort!",
+    "reverse",
+    "reverse!",
+    "reverse-list->string",
+    "rewinddir",
+    "rmdir",
+    "round",
+    "round-ash",
+    "round-quotient",
+    "round-remainder",
+    "round/",
+    "run-hook",
+    "s16vector",
+    "s16vector->list",
+    "s16vector-length",
+    "s16vector-ref",
+    "s16vector-set!",
+    "s16vector?",
+    "s32vector",
+    "s32vector->list",
+    "s32vector-length",
+    "s32vector-ref",
+    "s32vector-set!",
+    "s32vector?",
+    "s64vector",
+    "s64vector->list",
+    "s64vector-length",
+    "s64vector-ref",
+    "s64vector-set!",
+    "s64vector?",
+    "s8vector",
+    "s8vector->list",
+    "s8vector-length",
+    "s8vector-ref",
+    "s8vector-set!",
+    "s8vector?",
+    "save-module-excursion",
+    "scheme-report-environment",
+    "scm-error",
+    "search-path",
+    "second",
+    "seed->random-state",
+    "seek",
+    "select",
+    "self-evaluating?",
+    "send",
+    "sendfile",
+    "sendto",
+    "servent:aliases",
+    "servent:name",
+    "servent:port",
+    "servent:proto",
+    "set-autoloaded!",
+    "set-car!",
+    "set-cdr!",
+    "set-current-dynamic-state",
+    "set-current-error-port",
+    "set-current-input-port",
+    "set-current-module",
+    "set-current-output-port",
+    "set-exception-printer!",
+    "set-module-binder!",
+    "set-module-declarative?!",
+    "set-module-duplicates-handlers!",
+    "set-module-filename!",
+    "set-module-kind!",
+    "set-module-name!",
+    "set-module-next-unique-id!",
+    "set-module-obarray!",
+    "set-module-observers!",
+    "set-module-public-interface!",
+    "set-module-submodule-binder!",
+    "set-module-submodules!",
+    "set-module-transformer!",
+    "set-module-uses!",
+    "set-module-version!",
+    "set-object-properties!",
+    "set-object-property!",
+    "set-port-column!",
+    "set-port-conversion-strategy!",
+    "set-port-encoding!",
+    "set-port-filename!",
+    "set-port-line!",
+    "set-port-revealed!",
+    "set-procedure-minimum-arity!",
+    "set-procedure-properties!",
+    "set-procedure-property!",
+    "set-program-arguments",
+    "set-source-properties!",
+    "set-source-property!",
+    "set-struct-vtable-name!",
+    "set-symbol-property!",
+    "set-tm:gmtoff",
+    "set-tm:hour",
+    "set-tm:isdst",
+    "set-tm:mday",
+    "set-tm:min",
+    "set-tm:mon",
+    "set-tm:sec",
+    "set-tm:wday",
+    "set-tm:yday",
+    "set-tm:year",
+    "set-tm:zone",
+    "setaffinity",
+    "setegid",
+    "setenv",
+    "seteuid",
+    "setgid",
+    "setgr",
+    "setgrent",
+    "setgroups",
+    "sethost",
+    "sethostent",
+    "sethostname",
+    "setitimer",
+    "setlocale",
+    "setnet",
+    "setnetent",
+    "setpgid",
+    "setpriority",
+    "setproto",
+    "setprotoent",
+    "setpw",
+    "setpwent",
+    "setrlimit",
+    "setserv",
+    "setservent",
+    "setsid",
+    "setsockopt",
+    "setter",
+    "setuid",
+    "setvbuf",
+    "seventh",
+    "shared-array-increments",
+    "shared-array-offset",
+    "shared-array-root",
+    "shutdown",
+    "sigaction",
+    "simple-exceptions",
+    "simple-format",
+    "sin",
+    "sinh",
+    "sixth",
+    "sleep",
+    "sloppy-assoc",
+    "sloppy-assq",
+    "sloppy-assv",
+    "sockaddr:addr",
+    "sockaddr:fam",
+    "sockaddr:flowinfo",
+    "sockaddr:path",
+    "sockaddr:port",
+    "sockaddr:scopeid",
+    "socket",
+    "socketpair",
+    "sort",
+    "sort!",
+    "sort-list",
+    "sort-list!",
+    "sorted?",
+    "source-properties",
+    "source-property",
+    "span",
+    "span!",
+    "split-at",
+    "split-at!",
+    "sqrt",
+    "stable-sort",
+    "stable-sort!",
+    "stack-id",
+    "stack-length",
+    "stack-ref",
+    "stack?",
+    "stat",
+    "stat:atime",
+    "stat:atimensec",
+    "stat:blksize",
+    "stat:blocks",
+    "stat:ctime",
+    "stat:ctimensec",
+    "stat:dev",
+    "stat:gid",
+    "stat:ino",
+    "stat:mode",
+    "stat:mtime",
+    "stat:mtimensec",
+    "stat:nlink",
+    "stat:perms",
+    "stat:rdev",
+    "stat:size",
+    "stat:type",
+    "stat:uid",
+    "status:exit-val",
+    "status:stop-sig",
+    "status:term-sig",
+    "strerror",
+    "strftime",
+    "string",
+    "string->char-set",
+    "string->char-set!",
+    "string->list",
+    "string->number",
+    "string->symbol",
+    "string-any",
+    "string-any-c-code",
+    "string-append",
+    "string-append/shared",
+    "string-bytes-per-char",
+    "string-capitalize",
+    "string-capitalize!",
+    "string-ci->symbol",
+    "string-ci<",
+    "string-ci<=",
+    "string-ci<=?",
+    "string-ci<>",
+    "string-ci<?",
+    "string-ci=",
+    "string-ci=?",
+    "string-ci>",
+    "string-ci>=",
+    "string-ci>=?",
+    "string-ci>?",
+    "string-compare",
+    "string-compare-ci",
+    "string-concatenate",
+    "string-concatenate-reverse",
+    "string-concatenate-reverse/shared",
+    "string-concatenate/shared",
+    "string-contains",
+    "string-contains-ci",
+    "string-copy",
+    "string-copy!",
+    "string-count",
+    "string-delete",
+    "string-downcase",
+    "string-downcase!",
+    "string-drop",
+    "string-drop-right",
+    "string-every",
+    "string-every-c-code",
+    "string-fill!",
+    "string-filter",
+    "string-fold",
+    "string-fold-right",
+    "string-for-each",
+    "string-for-each-index",
+    "string-hash",
+    "string-hash-ci",
+    "string-index",
+    "string-index-right",
+    "string-join",
+    "string-length",
+    "string-map",
+    "string-map!",
+    "string-normalize-nfc",
+    "string-normalize-nfd",
+    "string-normalize-nfkc",
+    "string-normalize-nfkd",
+    "string-null?",
+    "string-pad",
+    "string-pad-right",
+    "string-prefix-ci?",
+    "string-prefix-length",
+    "string-prefix-length-ci",
+    "string-prefix?",
+    "string-ref",
+    "string-replace",
+    "string-reverse",
+    "string-reverse!",
+    "string-rindex",
+    "string-set!",
+    "string-skip",
+    "string-skip-right",
+    "string-split",
+    "string-suffix-ci?",
+    "string-suffix-length",
+    "string-suffix-length-ci",
+    "string-suffix?",
+    "string-tabulate",
+    "string-take",
+    "string-take-right",
+    "string-titlecase",
+    "string-titlecase!",
+    "string-tokenize",
+    "string-trim",
+    "string-trim-both",
+    "string-trim-right",
+    "string-unfold",
+    "string-unfold-right",
+    "string-upcase",
+    "string-upcase!",
+    "string-utf8-length",
+    "string-xcopy!",
+    "string<",
+    "string<=",
+    "string<=?",
+    "string<>",
+    "string<?",
+    "string=",
+    "string=?",
+    "string>",
+    "string>=",
+    "string>=?",
+    "string>?",
+    "string?",
+    "strptime",
+    "struct-layout",
+    "struct-ref",
+    "struct-ref/unboxed",
+    "struct-set!",
+    "struct-set!/unboxed",
+    "struct-vtable",
+    "struct-vtable-name",
+    "struct-vtable?",
+    "struct?",
+    "substring",
+    "substring-fill!",
+    "substring-move!",
+    "substring/copy",
+    "substring/read-only",
+    "substring/shared",
+    "supports-source-properties?",
+    "symbol",
+    "symbol->keyword",
+    "symbol->string",
+    "symbol-append",
+    "symbol-fref",
+    "symbol-fset!",
+    "symbol-hash",
+    "symbol-interned?",
+    "symbol-pref",
+    "symbol-prefix-proc",
+    "symbol-property",
+    "symbol-property-remove!",
+    "symbol-pset!",
+    "symbol?",
+    "symlink",
+    "sync",
+    "syntax->datum",
+    "syntax-source",
+    "syntax-violation",
+    "system",
+    "system*",
+    "system-async-mark",
+    "system-error-errno",
+    "system-file-name-convention",
+    "take",
+    "take!",
+    "take-right",
+    "take-while",
+    "take-while!",
+    "tan",
+    "tanh",
+    "tcgetpgrp",
+    "tcsetpgrp",
+    "tenth",
+    "textdomain",
+    "third",
+    "throw",
+    "thunk?",
+    "times",
+    "tm:gmtoff",
+    "tm:hour",
+    "tm:isdst",
+    "tm:mday",
+    "tm:min",
+    "tm:mon",
+    "tm:sec",
+    "tm:wday",
+    "tm:yday",
+    "tm:year",
+    "tm:zone",
+    "tmpfile",
+    "tmpnam",
+    "tms:clock",
+    "tms:cstime",
+    "tms:cutime",
+    "tms:stime",
+    "tms:utime",
+    "transpose-array",
+    "truncate",
+    "truncate-file",
+    "truncate-quotient",
+    "truncate-remainder",
+    "truncate/",
+    "try-load-module",
+    "try-module-autoload",
+    "ttyname",
+    "typed-array?",
+    "tzset",
+    "u16vector",
+    "u16vector->list",
+    "u16vector-length",
+    "u16vector-ref",
+    "u16vector-set!",
+    "u16vector?",
+    "u32vector",
+    "u32vector->list",
+    "u32vector-length",
+    "u32vector-ref",
+    "u32vector-set!",
+    "u32vector?",
+    "u64vector",
+    "u64vector->list",
+    "u64vector-length",
+    "u64vector-ref",
+    "u64vector-set!",
+    "u64vector?",
+    "u8vector",
+    "u8vector->list",
+    "u8vector-length",
+    "u8vector-ref",
+    "u8vector-set!",
+    "u8vector?",
+    "ucs-range->char-set",
+    "ucs-range->char-set!",
+    "umask",
+    "uname",
+    "unfold",
+    "unfold-right",
+    "unmemoize-expression",
+    "unread-char",
+    "unread-string",
+    "unsetenv",
+    "unspecified?",
+    "unzip1",
+    "unzip2",
+    "unzip3",
+    "unzip4",
+    "unzip5",
+    "use-srfis",
+    "user-modules-declarative?",
+    "using-readline?",
+    "usleep",
+    "utime",
+    "utsname:machine",
+    "utsname:nodename",
+    "utsname:release",
+    "utsname:sysname",
+    "utsname:version",
+    "values",
+    "variable-bound?",
+    "variable-ref",
+    "variable-set!",
+    "variable-unset!",
+    "variable?",
+    "vector",
+    "vector->list",
+    "vector-copy",
+    "vector-fill!",
+    "vector-length",
+    "vector-move-left!",
+    "vector-move-right!",
+    "vector-ref",
+    "vector-set!",
+    "vector?",
+    "version",
+    "version-matches?",
+    "waitpid",
+    "warn",
+    "weak-key-hash-table?",
+    "weak-value-hash-table?",
+    "with-continuation-barrier",
+    "with-dynamic-state",
+    "with-error-to-file",
+    "with-error-to-port",
+    "with-error-to-string",
+    "with-exception-handler",
+    "with-fluid*",
+    "with-fluids*",
+    "with-input-from-file",
+    "with-input-from-port",
+    "with-input-from-string",
+    "with-output-to-file",
+    "with-output-to-port",
+    "with-output-to-string",
+    "with-throw-handler",
+    "write",
+    "write-char",
+    "xcons",
+    "xsubstring",
+    "zero?",
+    "zip",
+}
+
index e2cfcb9622acedd10d71f05dc97163408a390708..c433bcfd39348995c32af87691b25b77ea5016cc 100644 (file)
@@ -4,7 +4,7 @@
 
     Builtin list for the ScilabLexer.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 2977a2c04f954225b7ac73240c4686203cdfcd84..3884b4b603e731f77274a547926bf5e620750afb 100644 (file)
@@ -3,11 +3,12 @@
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
     This file contains the names of SourceMod functions.
-    It is able to re-generate itself.
 
     Do not edit the FUNCTIONS list by hand.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    Run with `python -I` to regenerate.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -1093,19 +1094,10 @@ FUNCTIONS = (
 if __name__ == '__main__':  # pragma: no cover
     import re
     import sys
-    try:
-        from urllib import FancyURLopener
-    except ImportError:
-        from urllib.request import FancyURLopener
+    from urllib.request import FancyURLopener
 
     from pygments.util import format_lines
 
-    # urllib ends up wanting to import a module called 'math' -- if
-    # pygments/lexers is in the path, this ends badly.
-    for i in range(len(sys.path)-1, -1, -1):
-        if sys.path[i].endswith('/lexers'):
-            del sys.path[i]
-
     class Opener(FancyURLopener):
         version = 'Mozilla/5.0 (Pygments Sourcemod Builtins Update)'
 
@@ -1115,7 +1107,7 @@ if __name__ == '__main__':  # pragma: no cover
         f = opener.open('http://docs.sourcemod.net/api/index.php')
         r = re.compile(r'SourceMod v\.<b>([\d\.]+(?:-\w+)?)</td>')
         for line in f:
-            m = r.search(line)
+            m = r.search(line.decode())
             if m is not None:
                 return m.groups()[0]
         raise ValueError('No version in api docs')
@@ -1125,7 +1117,7 @@ if __name__ == '__main__':  # pragma: no cover
         r = re.compile(r'SMfunctions\[\d+\] = Array \("(?:public )?([^,]+)",".+"\);')
         functions = []
         for line in f:
-            m = r.match(line)
+            m = r.match(line.decode())
             if m is not None:
                 functions.append(m.groups()[0])
         return functions
@@ -1141,7 +1133,7 @@ if __name__ == '__main__':  # pragma: no cover
         with open(filename, 'w') as fp:
             fp.write(header)
             fp.write(format_lines('FUNCTIONS', natives))
-            fp.write(footer)
+            fp.write('\n\n' + footer)
 
     def run():
         version = get_version()
index f15167053a1a2b8233e6cfafbac68d3f740167e6..2ab1c874938fdae993525453582436c8b7e17cf8 100644 (file)
@@ -3,9 +3,9 @@
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
     This file contains the names of functions for Stan used by
-    ``pygments.lexers.math.StanLexer. This is for Stan language version 2.17.0.
+    ``pygments.lexers.math.StanLexer. This is for Stan language version 2.29.0.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -37,16 +37,21 @@ TYPES = (
     'unit_vector',
     'vector',
     'void',
+    'array',
+    'complex'
 )
 
 FUNCTIONS = (
     'abs',
     'acos',
     'acosh',
+    'add_diag',
     'algebra_solver',
+    'algebra_solver_newton',
     'append_array',
     'append_col',
     'append_row',
+    'arg',
     'asin',
     'asinh',
     'atan',
@@ -55,21 +60,32 @@ FUNCTIONS = (
     'bernoulli_cdf',
     'bernoulli_lccdf',
     'bernoulli_lcdf',
+    'bernoulli_logit_glm_lpmf',
+    'bernoulli_logit_glm_lupmf',
+    'bernoulli_logit_glm_rng',
     'bernoulli_logit_lpmf',
+    'bernoulli_logit_lupmf',
     'bernoulli_logit_rng',
     'bernoulli_lpmf',
+    'bernoulli_lupmf',
     'bernoulli_rng',
     'bessel_first_kind',
     'bessel_second_kind',
+    'beta',
     'beta_binomial_cdf',
     'beta_binomial_lccdf',
     'beta_binomial_lcdf',
     'beta_binomial_lpmf',
+    'beta_binomial_lupmf',
     'beta_binomial_rng',
     'beta_cdf',
     'beta_lccdf',
     'beta_lcdf',
     'beta_lpdf',
+    'beta_lupdf',
+    'beta_proportion_lccdf',
+    'beta_proportion_lcdf',
+    'beta_proportion_rng',
     'beta_rng',
     'binary_log_loss',
     'binomial_cdf',
@@ -77,17 +93,24 @@ FUNCTIONS = (
     'binomial_lccdf',
     'binomial_lcdf',
     'binomial_logit_lpmf',
+    'binomial_logit_lupmf',
     'binomial_lpmf',
+    'binomial_lupmf',
     'binomial_rng',
     'block',
+    'categorical_logit_glm_lpmf',
+    'categorical_logit_glm_lupmf',
     'categorical_logit_lpmf',
+    'categorical_logit_lupmf',
     'categorical_logit_rng',
     'categorical_lpmf',
+    'categorical_lupmf',
     'categorical_rng',
     'cauchy_cdf',
     'cauchy_lccdf',
     'cauchy_lcdf',
     'cauchy_lpdf',
+    'cauchy_lupdf',
     'cauchy_rng',
     'cbrt',
     'ceil',
@@ -95,13 +118,16 @@ FUNCTIONS = (
     'chi_square_lccdf',
     'chi_square_lcdf',
     'chi_square_lpdf',
+    'chi_square_lupdf',
     'chi_square_rng',
+    'chol2inv',
     'cholesky_decompose',
     'choose',
     'col',
     'cols',
     'columns_dot_product',
     'columns_dot_self',
+    'conj',
     'cos',
     'cosh',
     'cov_exp_quad',
@@ -112,6 +138,8 @@ FUNCTIONS = (
     'csr_matrix_times_vector',
     'csr_to_dense_matrix',
     'cumulative_sum',
+    'dae',
+    'dae_tol',
     'determinant',
     'diag_matrix',
     'diag_post_multiply',
@@ -120,7 +148,14 @@ FUNCTIONS = (
     'digamma',
     'dims',
     'dirichlet_lpdf',
+    'dirichlet_lupdf',
     'dirichlet_rng',
+    'discrete_range_cdf',
+    'discrete_range_lccdf',
+    'discrete_range_lcdf',
+    'discrete_range_lpmf',
+    'discrete_range_lupmf',
+    'discrete_range_rng',
     'distance',
     'dot_product',
     'dot_self',
@@ -128,6 +163,7 @@ FUNCTIONS = (
     'double_exponential_lccdf',
     'double_exponential_lcdf',
     'double_exponential_lpdf',
+    'double_exponential_lupdf',
     'double_exponential_rng',
     'e',
     'eigenvalues_sym',
@@ -140,12 +176,14 @@ FUNCTIONS = (
     'exp_mod_normal_lccdf',
     'exp_mod_normal_lcdf',
     'exp_mod_normal_lpdf',
+    'exp_mod_normal_lupdf',
     'exp_mod_normal_rng',
     'expm1',
     'exponential_cdf',
     'exponential_lccdf',
     'exponential_lcdf',
     'exponential_lpdf',
+    'exponential_lupdf',
     'exponential_rng',
     'fabs',
     'falling_factorial',
@@ -159,28 +197,42 @@ FUNCTIONS = (
     'frechet_lccdf',
     'frechet_lcdf',
     'frechet_lpdf',
+    'frechet_lupdf',
     'frechet_rng',
     'gamma_cdf',
     'gamma_lccdf',
     'gamma_lcdf',
     'gamma_lpdf',
+    'gamma_lupdf',
     'gamma_p',
     'gamma_q',
     'gamma_rng',
     'gaussian_dlm_obs_lpdf',
+    'gaussian_dlm_obs_lupdf',
+    'generalized_inverse',
+    'get_imag',
     'get_lp',
+    'get_real',
     'gumbel_cdf',
     'gumbel_lccdf',
     'gumbel_lcdf',
     'gumbel_lpdf',
+    'gumbel_lupdf',
     'gumbel_rng',
     'head',
+    'hmm_hidden_state_prob',
+    'hmm_latent_rng',
+    'hmm_marginal',
     'hypergeometric_lpmf',
+    'hypergeometric_lupmf',
     'hypergeometric_rng',
     'hypot',
+    'identity_matrix',
     'inc_beta',
     'int_step',
+    'integrate_1d',
     'integrate_ode',
+    'integrate_ode_adams',
     'integrate_ode_bdf',
     'integrate_ode_rk45',
     'inv',
@@ -188,29 +240,42 @@ FUNCTIONS = (
     'inv_chi_square_lccdf',
     'inv_chi_square_lcdf',
     'inv_chi_square_lpdf',
+    'inv_chi_square_lupdf',
     'inv_chi_square_rng',
     'inv_cloglog',
+    'inv_erfc',
     'inv_gamma_cdf',
     'inv_gamma_lccdf',
     'inv_gamma_lcdf',
     'inv_gamma_lpdf',
+    'inv_gamma_lupdf',
     'inv_gamma_rng',
     'inv_logit',
     'inv_Phi',
     'inv_sqrt',
     'inv_square',
     'inv_wishart_lpdf',
+    'inv_wishart_lupdf',
     'inv_wishart_rng',
     'inverse',
     'inverse_spd',
     'is_inf',
     'is_nan',
+    'lambert_w0',
+    'lambert_wm1',
     'lbeta',
     'lchoose',
+    'ldexp',
     'lgamma',
+    'linspaced_array',
+    'linspaced_int_array',
+    'linspaced_row_vector',
+    'linspaced_vector',
     'lkj_corr_cholesky_lpdf',
+    'lkj_corr_cholesky_lupdf',
     'lkj_corr_cholesky_rng',
     'lkj_corr_lpdf',
+    'lkj_corr_lupdf',
     'lkj_corr_rng',
     'lmgamma',
     'lmultiply',
@@ -226,7 +291,9 @@ FUNCTIONS = (
     'log_diff_exp',
     'log_falling_factorial',
     'log_inv_logit',
+    'log_inv_logit_diff',
     'log_mix',
+    'log_modified_bessel_first_kind',
     'log_rising_factorial',
     'log_softmax',
     'log_sum_exp',
@@ -234,15 +301,23 @@ FUNCTIONS = (
     'logistic_lccdf',
     'logistic_lcdf',
     'logistic_lpdf',
+    'logistic_lupdf',
     'logistic_rng',
     'logit',
+    'loglogistic_cdf',
+    'loglogistic_lpdf',
+    'loglogistic_rng',
     'lognormal_cdf',
     'lognormal_lccdf',
     'lognormal_lcdf',
     'lognormal_lpdf',
+    'lognormal_lupdf',
     'lognormal_rng',
     'machine_precision',
+    'map_rect',
     'matrix_exp',
+    'matrix_exp_multiply',
+    'matrix_power',
     'max',
     'mdivide_left_spd',
     'mdivide_left_tri_low',
@@ -253,50 +328,94 @@ FUNCTIONS = (
     'modified_bessel_first_kind',
     'modified_bessel_second_kind',
     'multi_gp_cholesky_lpdf',
+    'multi_gp_cholesky_lupdf',
     'multi_gp_lpdf',
+    'multi_gp_lupdf',
     'multi_normal_cholesky_lpdf',
+    'multi_normal_cholesky_lupdf',
     'multi_normal_cholesky_rng',
     'multi_normal_lpdf',
+    'multi_normal_lupdf',
     'multi_normal_prec_lpdf',
+    'multi_normal_prec_lupdf',
     'multi_normal_rng',
     'multi_student_t_lpdf',
+    'multi_student_t_lupdf',
     'multi_student_t_rng',
+    'multinomial_logit_lpmf',
+    'multinomial_logit_lupmf',
+    'multinomial_logit_rng',
     'multinomial_lpmf',
+    'multinomial_lupmf',
     'multinomial_rng',
     'multiply_log',
     'multiply_lower_tri_self_transpose',
     'neg_binomial_2_cdf',
     'neg_binomial_2_lccdf',
     'neg_binomial_2_lcdf',
+    'neg_binomial_2_log_glm_lpmf',
+    'neg_binomial_2_log_glm_lupmf',
     'neg_binomial_2_log_lpmf',
+    'neg_binomial_2_log_lupmf',
     'neg_binomial_2_log_rng',
     'neg_binomial_2_lpmf',
+    'neg_binomial_2_lupmf',
     'neg_binomial_2_rng',
     'neg_binomial_cdf',
     'neg_binomial_lccdf',
     'neg_binomial_lcdf',
     'neg_binomial_lpmf',
+    'neg_binomial_lupmf',
     'neg_binomial_rng',
     'negative_infinity',
+    'norm',
     'normal_cdf',
+    'normal_id_glm_lpdf',
+    'normal_id_glm_lupdf',
     'normal_lccdf',
     'normal_lcdf',
     'normal_lpdf',
+    'normal_lupdf',
     'normal_rng',
     'not_a_number',
     'num_elements',
+    'ode_adams',
+    'ode_adams_tol',
+    'ode_adjoint_tol_ctl',
+    'ode_bdf',
+    'ode_bdf_tol',
+    'ode_ckrk',
+    'ode_ckrk_tol',
+    'ode_rk45',
+    'ode_rk45_tol',
+    'one_hot_array',
+    'one_hot_int_array',
+    'one_hot_row_vector',
+    'one_hot_vector',
+    'ones_array',
+    'ones_int_array',
+    'ones_row_vector',
+    'ones_vector',
+    'ordered_logistic_glm_lpmf',
+    'ordered_logistic_glm_lupmf',
     'ordered_logistic_lpmf',
+    'ordered_logistic_lupmf',
     'ordered_logistic_rng',
+    'ordered_probit_lpmf',
+    'ordered_probit_lupmf',
+    'ordered_probit_rng',
     'owens_t',
     'pareto_cdf',
     'pareto_lccdf',
     'pareto_lcdf',
     'pareto_lpdf',
+    'pareto_lupdf',
     'pareto_rng',
     'pareto_type_2_cdf',
     'pareto_type_2_lccdf',
     'pareto_type_2_lcdf',
     'pareto_type_2_lpdf',
+    'pareto_type_2_lupdf',
     'pareto_type_2_rng',
     'Phi',
     'Phi_approx',
@@ -304,40 +423,54 @@ FUNCTIONS = (
     'poisson_cdf',
     'poisson_lccdf',
     'poisson_lcdf',
+    'poisson_log_glm_lpmf',
+    'poisson_log_glm_lupmf',
     'poisson_log_lpmf',
+    'poisson_log_lupmf',
     'poisson_log_rng',
     'poisson_lpmf',
+    'poisson_lupmf',
     'poisson_rng',
+    'polar',
     'positive_infinity',
     'pow',
     'print',
     'prod',
+    'proj',
     'qr_Q',
     'qr_R',
+    'qr_thin_Q',
+    'qr_thin_R',
     'quad_form',
     'quad_form_diag',
     'quad_form_sym',
+    'quantile',
     'rank',
     'rayleigh_cdf',
     'rayleigh_lccdf',
     'rayleigh_lcdf',
     'rayleigh_lpdf',
+    'rayleigh_lupdf',
     'rayleigh_rng',
+    'reduce_sum',
     'reject',
     'rep_array',
     'rep_matrix',
     'rep_row_vector',
     'rep_vector',
+    'reverse',
     'rising_factorial',
     'round',
     'row',
     'rows',
     'rows_dot_product',
     'rows_dot_self',
+    'scale_matrix_exp_multiply',
     'scaled_inv_chi_square_cdf',
     'scaled_inv_chi_square_lccdf',
     'scaled_inv_chi_square_lcdf',
     'scaled_inv_chi_square_lpdf',
+    'scaled_inv_chi_square_lupdf',
     'scaled_inv_chi_square_rng',
     'sd',
     'segment',
@@ -345,10 +478,17 @@ FUNCTIONS = (
     'singular_values',
     'sinh',
     'size',
+    'skew_double_exponential_cdf',
+    'skew_double_exponential_lccdf',
+    'skew_double_exponential_lcdf',
+    'skew_double_exponential_lpdf',
+    'skew_double_exponential_lupdf',
+    'skew_double_exponential_rng',
     'skew_normal_cdf',
     'skew_normal_lccdf',
     'skew_normal_lcdf',
     'skew_normal_lpdf',
+    'skew_normal_lupdf',
     'skew_normal_rng',
     'softmax',
     'sort_asc',
@@ -359,15 +499,25 @@ FUNCTIONS = (
     'sqrt2',
     'square',
     'squared_distance',
+    'std_normal_cdf',
+    'std_normal_lccdf',
+    'std_normal_lcdf',
+    'std_normal_lpdf',
+    'std_normal_lupdf',
+    'std_normal_rng',
     'step',
     'student_t_cdf',
     'student_t_lccdf',
     'student_t_lcdf',
     'student_t_lpdf',
+    'student_t_lupdf',
     'student_t_rng',
     'sub_col',
     'sub_row',
     'sum',
+    'svd_U',
+    'svd_V',
+    'symmetrize_from_lower_tri',
     'tail',
     'tan',
     'tanh',
@@ -376,6 +526,7 @@ FUNCTIONS = (
     'tgamma',
     'to_array_1d',
     'to_array_2d',
+    'to_complex',
     'to_matrix',
     'to_row_vector',
     'to_vector',
@@ -388,32 +539,47 @@ FUNCTIONS = (
     'uniform_lccdf',
     'uniform_lcdf',
     'uniform_lpdf',
+    'uniform_lupdf',
     'uniform_rng',
+    'uniform_simplex',
     'variance',
+    'von_mises_cdf',
+    'von_mises_lccdf',
+    'von_mises_lcdf',
     'von_mises_lpdf',
+    'von_mises_lupdf',
     'von_mises_rng',
     'weibull_cdf',
     'weibull_lccdf',
     'weibull_lcdf',
     'weibull_lpdf',
+    'weibull_lupdf',
     'weibull_rng',
     'wiener_lpdf',
+    'wiener_lupdf',
     'wishart_lpdf',
+    'wishart_lupdf',
     'wishart_rng',
+    'zeros_array',
+    'zeros_int_array',
+    'zeros_row_vector'
 )
 
 DISTRIBUTIONS = (
     'bernoulli',
     'bernoulli_logit',
+    'bernoulli_logit_glm',
     'beta',
     'beta_binomial',
     'binomial',
     'binomial_logit',
     'categorical',
     'categorical_logit',
+    'categorical_logit_glm',
     'cauchy',
     'chi_square',
     'dirichlet',
+    'discrete_range',
     'double_exponential',
     'exp_mod_normal',
     'exponential',
@@ -428,6 +594,7 @@ DISTRIBUTIONS = (
     'lkj_corr',
     'lkj_corr_cholesky',
     'logistic',
+    'loglogistic',
     'lognormal',
     'multi_gp',
     'multi_gp_cholesky',
@@ -436,18 +603,26 @@ DISTRIBUTIONS = (
     'multi_normal_prec',
     'multi_student_t',
     'multinomial',
+    'multinomial_logit',
     'neg_binomial',
     'neg_binomial_2',
     'neg_binomial_2_log',
+    'neg_binomial_2_log_glm',
     'normal',
+    'normal_id_glm',
     'ordered_logistic',
+    'ordered_logistic_glm',
+    'ordered_probit',
     'pareto',
     'pareto_type_2',
     'poisson',
     'poisson_log',
+    'poisson_log_glm',
     'rayleigh',
     'scaled_inv_chi_square',
+    'skew_double_exponential',
     'skew_normal',
+    'std_normal',
     'student_t',
     'uniform',
     'von_mises',
@@ -457,101 +632,17 @@ DISTRIBUTIONS = (
 )
 
 RESERVED = (
-    'alignas',
-    'alignof',
-    'and',
-    'and_eq',
-    'asm',
-    'auto',
-    'bitand',
-    'bitor',
-    'bool',
-    'break',
-    'case',
-    'catch',
-    'char',
-    'char16_t',
-    'char32_t',
-    'class',
-    'compl',
-    'const',
-    'const_cast',
-    'constexpr',
-    'continue',
-    'decltype',
-    'default',
-    'delete',
-    'do',
-    'double',
-    'dynamic_cast',
-    'else',
-    'enum',
-    'explicit',
-    'export',
-    'extern',
-    'false',
-    'float',
-    'for',
-    'friend',
-    'fvar',
-    'goto',
-    'if',
-    'in',
-    'inline',
-    'int',
-    'long',
-    'lp__',
-    'mutable',
-    'namespace',
-    'new',
-    'noexcept',
-    'not',
-    'not_eq',
-    'nullptr',
-    'operator',
-    'or',
-    'or_eq',
-    'private',
-    'protected',
-    'public',
-    'register',
-    'reinterpret_cast',
     'repeat',
-    'return',
-    'short',
-    'signed',
-    'sizeof',
-    'STAN_MAJOR',
-    'STAN_MATH_MAJOR',
-    'STAN_MATH_MINOR',
-    'STAN_MATH_PATCH',
-    'STAN_MINOR',
-    'STAN_PATCH',
-    'static',
-    'static_assert',
-    'static_cast',
-    'struct',
-    'switch',
-    'template',
+    'until',
     'then',
-    'this',
-    'thread_local',
-    'throw',
     'true',
-    'try',
+    'false',
+    'var',
+    'struct',
     'typedef',
-    'typeid',
-    'typename',
-    'union',
-    'unsigned',
-    'until',
-    'using',
+    'export',
+    'auto',
+    'extern',
     'var',
-    'virtual',
-    'void',
-    'volatile',
-    'wchar_t',
-    'while',
-    'xor',
-    'xor_eq',
+    'static',
 )
index 0fabe36863f0a6df58b6cdda926b38e838b9f95e..1343212f737404efd065b2989750e0cc98548110 100644 (file)
@@ -4,7 +4,7 @@
 
     Builtins for Stata
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index e72e5a5a874de149ea8e5d9fd770be37a851b2b5..934e54af0d1720340a199fd2d501ced330fd01c6 100644 (file)
@@ -4,7 +4,7 @@
 
     These are manually translated lists from https://msdn.microsoft.com.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 28efd271152ce6904c139b5d43f2eeb4116b5758..de773419ec168e219717dc86f13b1cb2885b3024 100644 (file)
@@ -4,7 +4,7 @@
 
     A collection of known USD-related keywords, attributes, and types.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 7256a06f17668b8fb4c19cce58adbce8e799e653..68e732e292bed569b58cbc1e0376914dd5afabd3 100644 (file)
@@ -5,7 +5,7 @@
     These are manually translated lists from
     http://www.indusoft.com/pdf/VBScript%20Reference.pdf.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9690511304b02baee921002f27d24256228e6e8f..12eac49fb81e03e4a44ad967b246e620dcc5c8eb 100644 (file)
@@ -4,7 +4,7 @@
 
     This file is autogenerated by scripts/get_vimkw.py
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 28625586bd712183e3a3c0e1995fea758fa5ae57..3a5bbf21a682b6028ccb488d504ae4e447cdb517 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for ActionScript and MXML.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -123,6 +123,7 @@ class ActionScript3Lexer(RegexLexer):
     """
 
     name = 'ActionScript 3'
+    url = 'https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html'
     aliases = ['actionscript3', 'as3']
     filenames = ['*.as']
     mimetypes = ['application/x-actionscript3', 'text/x-actionscript3',
diff --git a/pygments/lexers/ada.py b/pygments/lexers/ada.py
new file mode 100644 (file)
index 0000000..67d55b1
--- /dev/null
@@ -0,0 +1,145 @@
+"""
+    pygments.lexers.ada
+    ~~~~~~~~~~~~~~~~~~~
+
+    Lexers for Ada family languages.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+
+from pygments.lexer import Lexer, RegexLexer, include, bygroups, words, \
+    using, this, default
+from pygments.util import get_bool_opt, get_list_opt
+from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
+    Number, Punctuation, Error
+from pygments.scanner import Scanner
+from pygments.lexers._ada_builtins import KEYWORD_LIST, BUILTIN_LIST
+
+# compatibility import
+from pygments.lexers.modula2 import Modula2Lexer
+
+__all__ = ['AdaLexer']
+
+
+class AdaLexer(RegexLexer):
+    """
+    For Ada source code.
+
+    .. versionadded:: 1.3
+    """
+
+    name = 'Ada'
+    aliases = ['ada', 'ada95', 'ada2005']
+    filenames = ['*.adb', '*.ads', '*.ada']
+    mimetypes = ['text/x-ada']
+
+    flags = re.MULTILINE | re.IGNORECASE
+
+    tokens = {
+        'root': [
+            (r'[^\S\n]+', Text),
+            (r'--.*?\n', Comment.Single),
+            (r'[^\S\n]+', Text),
+            (r'function|procedure|entry', Keyword.Declaration, 'subprogram'),
+            (r'(subtype|type)(\s+)(\w+)',
+             bygroups(Keyword.Declaration, Text, Keyword.Type), 'type_def'),
+            (r'task|protected', Keyword.Declaration),
+            (r'(subtype)(\s+)', bygroups(Keyword.Declaration, Text)),
+            (r'(end)(\s+)', bygroups(Keyword.Reserved, Text), 'end'),
+            (r'(pragma)(\s+)(\w+)', bygroups(Keyword.Reserved, Text,
+                                             Comment.Preproc)),
+            (r'(true|false|null)\b', Keyword.Constant),
+            # builtin types
+            (words(BUILTIN_LIST, suffix=r'\b'), Keyword.Type),
+            (r'(and(\s+then)?|in|mod|not|or(\s+else)|rem)\b', Operator.Word),
+            (r'generic|private', Keyword.Declaration),
+            (r'package', Keyword.Declaration, 'package'),
+            (r'array\b', Keyword.Reserved, 'array_def'),
+            (r'(with|use)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
+            (r'(\w+)(\s*)(:)(\s*)(constant)',
+             bygroups(Name.Constant, Text, Punctuation, Text,
+                      Keyword.Reserved)),
+            (r'<<\w+>>', Name.Label),
+            (r'(\w+)(\s*)(:)(\s*)(declare|begin|loop|for|while)',
+             bygroups(Name.Label, Text, Punctuation, Text, Keyword.Reserved)),
+            # keywords
+            (words(KEYWORD_LIST, prefix=r'\b', suffix=r'\b'),
+             Keyword.Reserved),
+            (r'"[^"]*"', String),
+            include('attribute'),
+            include('numbers'),
+            (r"'[^']'", String.Character),
+            (r'(\w+)(\s*|[(,])', bygroups(Name, using(this))),
+            (r"(<>|=>|:=|[()|:;,.'])", Punctuation),
+            (r'[*<>+=/&-]', Operator),
+            (r'\n+', Text),
+        ],
+        'numbers': [
+            (r'[0-9_]+#[0-9a-f_\.]+#', Number.Hex),
+            (r'[0-9_]+\.[0-9_]*', Number.Float),
+            (r'[0-9_]+', Number.Integer),
+        ],
+        'attribute': [
+            (r"(')(\w+)", bygroups(Punctuation, Name.Attribute)),
+        ],
+        'subprogram': [
+            (r'\(', Punctuation, ('#pop', 'formal_part')),
+            (r';', Punctuation, '#pop'),
+            (r'is\b', Keyword.Reserved, '#pop'),
+            (r'"[^"]+"|\w+', Name.Function),
+            include('root'),
+        ],
+        'end': [
+            ('(if|case|record|loop|select)', Keyword.Reserved),
+            (r'"[^"]+"|[\w.]+', Name.Function),
+            (r'\s+', Text),
+            (';', Punctuation, '#pop'),
+        ],
+        'type_def': [
+            (r';', Punctuation, '#pop'),
+            (r'\(', Punctuation, 'formal_part'),
+            (r'with|and|use', Keyword.Reserved),
+            (r'array\b', Keyword.Reserved, ('#pop', 'array_def')),
+            (r'record\b', Keyword.Reserved, ('record_def')),
+            (r'(null record)(;)', bygroups(Keyword.Reserved, Punctuation), '#pop'),
+            include('root'),
+        ],
+        'array_def': [
+            (r';', Punctuation, '#pop'),
+            (r'(\w+)(\s+)(range)', bygroups(Keyword.Type, Text, Keyword.Reserved)),
+            include('root'),
+        ],
+        'record_def': [
+            (r'end record', Keyword.Reserved, '#pop'),
+            include('root'),
+        ],
+        'import': [
+            (r'[\w.]+', Name.Namespace, '#pop'),
+            default('#pop'),
+        ],
+        'formal_part': [
+            (r'\)', Punctuation, '#pop'),
+            (r'\w+', Name.Variable),
+            (r',|:[^=]', Punctuation),
+            (r'(in|not|null|out|access)\b', Keyword.Reserved),
+            include('root'),
+        ],
+        'package': [
+            ('body', Keyword.Declaration),
+            (r'is\s+new|renames', Keyword.Reserved),
+            ('is', Keyword.Reserved, '#pop'),
+            (';', Punctuation, '#pop'),
+            (r'\(', Punctuation, 'package_instantiation'),
+            (r'([\w.]+)', Name.Class),
+            include('root'),
+        ],
+        'package_instantiation': [
+            (r'("[^"]+"|\w+)(\s+)(=>)', bygroups(Name.Variable, Text, Punctuation)),
+            (r'[\w.\'"]', Text),
+            (r'\)', Punctuation, '#pop'),
+            include('root'),
+        ],
+    }
index e309624fa9cf00b029d543c104b3b6bf442e7e87..7c903a6e76c3ebd1b4427f7f292fbc672ee4e176 100644 (file)
@@ -4,7 +4,7 @@
 
     Just export lexer classes previously contained in this module.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 3e5c47b8ddbef1aa10e0226d2e8e7c4104fb9c15..59072708ddcc302a6b0de34c9892a1e860492ec6 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for computer algebra systems.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,11 +19,12 @@ __all__ = ['GAPLexer', 'MathematicaLexer', 'MuPADLexer', 'BCLexer']
 
 class GAPLexer(RegexLexer):
     """
-    For `GAP <http://www.gap-system.org>`_ source code.
+    For GAP source code.
 
     .. versionadded:: 2.0
     """
     name = 'GAP'
+    url = 'http://www.gap-system.org'
     aliases = ['gap']
     filenames = ['*.g', '*.gd', '*.gi', '*.gap']
 
@@ -89,11 +90,12 @@ class GAPLexer(RegexLexer):
 
 class MathematicaLexer(RegexLexer):
     """
-    Lexer for `Mathematica <http://www.wolfram.com/mathematica/>`_ source code.
+    Lexer for Mathematica source code.
 
     .. versionadded:: 2.0
     """
     name = 'Mathematica'
+    url = 'http://www.wolfram.com/mathematica/'
     aliases = ['mathematica', 'mma', 'nb']
     filenames = ['*.nb', '*.cdf', '*.nbp', '*.ma']
     mimetypes = ['application/mathematica',
@@ -136,12 +138,13 @@ class MathematicaLexer(RegexLexer):
 
 class MuPADLexer(RegexLexer):
     """
-    A `MuPAD <http://www.mupad.com>`_ lexer.
+    A MuPAD lexer.
     Contributed by Christopher Creutzig <christopher@creutzig.de>.
 
     .. versionadded:: 0.8
     """
     name = 'MuPAD'
+    url = 'http://www.mupad.com'
     aliases = ['mupad']
     filenames = ['*.mu']
 
@@ -208,11 +211,12 @@ class MuPADLexer(RegexLexer):
 
 class BCLexer(RegexLexer):
     """
-    A `BC <https://www.gnu.org/software/bc/>`_ lexer.
+    A BC lexer.
 
     .. versionadded:: 2.1
     """
     name = 'BC'
+    url = 'https://www.gnu.org/software/bc/'
     aliases = ['bc']
     filenames = ['*.bc']
 
index 5f82804a0354fff8f67bebdf7b64a7d1d8b5c53d..a5a7c57687755efe9cb8bad30fda424807b68c0a 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for AmbientTalk language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,11 +19,12 @@ __all__ = ['AmbientTalkLexer']
 
 class AmbientTalkLexer(RegexLexer):
     """
-    Lexer for `AmbientTalk <https://code.google.com/p/ambienttalk>`_ source code.
+    Lexer for AmbientTalk source code.
 
     .. versionadded:: 2.0
     """
     name = 'AmbientTalk'
+    url = 'https://code.google.com/p/ambienttalk'
     filenames = ['*.at']
     aliases = ['ambienttalk', 'ambienttalk/2', 'at']
     mimetypes = ['text/x-ambienttalk']
index 756b773135da6d2063436842fba6c29fa6f60af6..5356b225a0895d4feb655b2f1ff66ee9445cf39c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the AMDGPU ISA assembly.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 1d6e32902017fe5ed44111b334e1b5258c3f7596..fc26f3cf16d4ab97ac73b019cc232f9ab15a7093 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the AMPL language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,11 +17,12 @@ __all__ = ['AmplLexer']
 
 class AmplLexer(RegexLexer):
     """
-    For `AMPL <http://ampl.com/>`_ source code.
+    For AMPL source code.
 
     .. versionadded:: 2.2
     """
     name = 'Ampl'
+    url = 'http://ampl.com/'
     aliases = ['ampl']
     filenames = ['*.run']
 
index 162f038ef043be54191555e3feb533cc2b8c0482..6bc16414580e528f96d79d455c69e80917e8939c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for ANSYS Parametric Design Language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index ab6bbe51df2581697243604609fda1f29978aab7..944551f17e332fdc3f90a660260a2de6219997de 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for APL.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,11 +17,12 @@ __all__ = ['APLLexer']
 
 class APLLexer(RegexLexer):
     """
-    A simple `APL <https://en.m.wikipedia.org/wiki/APL_(programming_language)>`_ lexer.
+    A simple APL lexer.
 
     .. versionadded:: 2.0
     """
     name = 'APL'
+    url = 'https://en.m.wikipedia.org/wiki/APL_(programming_language)'
     aliases = ['apl']
     filenames = [
         '*.apl', '*.aplf', '*.aplo', '*.apln',  
index 4dfd6672fa5fa64c79a772ce719356dc5c8736a8..0afcce8afbc1eab64d93cc3139cf22aa12c3ca54 100644 (file)
@@ -13,7 +13,7 @@
     Contributed by Thomas Beale <https://github.com/wolandscat>,
     <https://bitbucket.org/thomas_beale>.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 20c9e9b5fbf04a47bdd63af07e8436dfa31126c1..bdfdc740723611dda895d4ac6d2afa214f7d9264 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Arrow.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -21,12 +21,13 @@ DECL = TYPES + r'(\s+)' + IDENT
 
 class ArrowLexer(RegexLexer):
     """
-    Lexer for Arrow: https://pypi.org/project/py-arrow-lang/
+    Lexer for Arrow
 
     .. versionadded:: 2.7
     """
 
     name = 'Arrow'
+    url = 'https://pypi.org/project/py-arrow-lang/'
     aliases = ['arrow']
     filenames = ['*.arw']
 
index b19f429f4ca04a4b8c677f08624250d57149933e..18d779f6cb8f89880c69b6af065c4dff7cd9197f 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for various ASCII armored files.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 import re
index e5f795f4f3a49e5a95bf61af72f1d3f359599bf5..8e803c91168964cf2b97da9c8a546f4152064daa 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for assembly languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -350,6 +350,7 @@ class LlvmLexer(RegexLexer):
     For LLVM assembly code.
     """
     name = 'LLVM'
+    url = 'https://llvm.org/docs/LangRef.html'
     aliases = ['llvm']
     filenames = ['*.ll']
     mimetypes = ['text/x-llvm']
@@ -490,11 +491,10 @@ class LlvmMirBodyLexer(RegexLexer):
     """
     For LLVM MIR examples without the YAML wrapper.
 
-    For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.
-
     .. versionadded:: 2.6
     """
     name = 'LLVM-MIR Body'
+    url = 'https://llvm.org/docs/MIRLangRef.html'
     aliases = ['llvm-mir-body']
     filenames = []
     mimetypes = []
@@ -636,11 +636,10 @@ class LlvmMirLexer(RegexLexer):
     see the state of the compilation process at various points, as well as test
     individual pieces of the compiler.
 
-    For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.
-
     .. versionadded:: 2.6
     """
     name = 'LLVM-MIR'
+    url = 'https://llvm.org/docs/MIRLangRef.html'
     aliases = ['llvm-mir']
     filenames = ['*.mir']
 
@@ -861,7 +860,7 @@ class TasmLexer(RegexLexer):
             include('punctuation'),
             (register, Name.Builtin),
             (identifier, Name.Variable),
-            # Do not match newline when it's preceeded by a backslash
+            # Do not match newline when it's preceded by a backslash
             (r'(\\)(\s*)(;.*)([\r\n])', bygroups(Text, Whitespace, Comment.Single, Whitespace)),
             (r'[\r\n]+', Whitespace, '#pop'),
             include('whitespace')
@@ -935,11 +934,10 @@ class Dasm16Lexer(RegexLexer):
     """
     For DCPU-16 Assembly.
 
-    Check http://0x10c.com/doc/dcpu-16.txt
-
     .. versionadded:: 2.4
     """
     name = 'DASM16'
+    url = 'http://0x10c.com/doc/dcpu-16.txt'
     aliases = ['dasm16']
     filenames = ['*.dasm16', '*.dasm']
     mimetypes = ['text/x-dasm16']
index 7b03e39a06038120a876a861eb06d6f87ef8fc47..00f448ea1c1fd0b64448de25616f45cd12daa059 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for automation scripting languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,11 +17,12 @@ __all__ = ['AutohotkeyLexer', 'AutoItLexer']
 
 class AutohotkeyLexer(RegexLexer):
     """
-    For `autohotkey <http://www.autohotkey.com/>`_ source code.
+    For autohotkey source code.
 
     .. versionadded:: 1.4
     """
     name = 'autohotkey'
+    url = 'http://www.autohotkey.com/'
     aliases = ['autohotkey', 'ahk']
     filenames = ['*.ahk', '*.ahkl']
     mimetypes = ['text/x-autohotkey']
@@ -194,7 +195,7 @@ class AutohotkeyLexer(RegexLexer):
 
 class AutoItLexer(RegexLexer):
     """
-    For `AutoIt <http://www.autoitscript.com/site/autoit/>`_ files.
+    For AutoIt files.
 
     AutoIt is a freeware BASIC-like scripting language
     designed for automating the Windows GUI and general scripting
@@ -202,6 +203,7 @@ class AutoItLexer(RegexLexer):
     .. versionadded:: 1.6
     """
     name = 'AutoIt'
+    url = 'http://www.autoitscript.com/site/autoit/'
     aliases = ['autoit']
     filenames = ['*.au3']
     mimetypes = ['text/x-autoit']
index bd5855f16614ef1e57a62e1d37fc42172af06f74..c1d183370f741813ee9a41b9018162ca426f3463 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the BARE schema.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -18,16 +18,15 @@ __all__ = ['BareLexer']
 
 class BareLexer(RegexLexer):
     """
-    For `BARE schema <https://baremessages.org>`_ schema source.
+    For BARE schema source.
 
     .. versionadded:: 2.7
     """
     name = 'BARE'
+    url = 'https://baremessages.org'
     filenames = ['*.bare']
     aliases = ['bare']
 
-    flags = re.MULTILINE | re.UNICODE
-
     keywords = [
         'type',
         'enum',
index 3ccadf1e0713d6d9eba5db0598f98b4132a98d04..f0a33ff9ac36ed6f7a443cb116b7c4f98af3357d 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for BASIC like languages (other than VB.net).
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -22,12 +22,13 @@ __all__ = ['BlitzBasicLexer', 'BlitzMaxLexer', 'MonkeyLexer', 'CbmBasicV2Lexer',
 
 class BlitzMaxLexer(RegexLexer):
     """
-    For `BlitzMax <http://blitzbasic.com>`_ source code.
+    For BlitzMax source code.
 
     .. versionadded:: 1.4
     """
 
     name = 'BlitzMax'
+    url = 'http://blitzbasic.com'
     aliases = ['blitzmax', 'bmax']
     filenames = ['*.bmx']
     mimetypes = ['text/x-bmx']
@@ -113,12 +114,13 @@ class BlitzMaxLexer(RegexLexer):
 
 class BlitzBasicLexer(RegexLexer):
     """
-    For `BlitzBasic <http://blitzbasic.com>`_ source code.
+    For BlitzBasic source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'BlitzBasic'
+    url = 'http://blitzbasic.com'
     aliases = ['blitzbasic', 'b3d', 'bplus']
     filenames = ['*.bb', '*.decls']
     mimetypes = ['text/x-bb']
index 99d2d2868fe07015630601a60b07186e57bd1697..f9b582ceedab6b4c27e077ce1569a80942f59790 100644 (file)
@@ -5,7 +5,7 @@
     Lexer for BDD(Behavior-driven development). 
     More information: https://en.wikipedia.org/wiki/Behavior-driven_development
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
diff --git a/pygments/lexers/berry.py b/pygments/lexers/berry.py
new file mode 100644 (file)
index 0000000..d7525e9
--- /dev/null
@@ -0,0 +1,97 @@
+"""
+    pygments.lexers.berry
+    ~~~~~~~~~~~~~~~~~~~~~
+
+    Lexer for Berry.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+from pygments.lexer import RegexLexer, words, default, include, bygroups
+from pygments.token import Text, Comment, Whitespace, Operator, Keyword, Name, String, Number, Punctuation
+
+__all__ = ['BerryLexer']
+
+line_re = re.compile('.*?\n')
+
+class BerryLexer(RegexLexer):
+    """
+    For `berry <http://github.com/berry-lang/berry>`_ source code.
+
+    .. versionadded:: 2.12.0
+    """    
+    name = 'Berry'
+    aliases = ['berry', 'be']
+    filenames = ['*.be']
+    mimetypes = ['text/x-berry', 'application/x-berry']
+
+    _name = r'\b[^\W\d]\w*'
+
+    tokens = {
+        'root': [
+            include('whitespace'),
+            include('numbers'),
+            include('keywords'),
+            (rf'(def)(\s+)({_name})', bygroups(Keyword.Declaration, Whitespace, Name.Function)),
+            (rf'\b(class)(\s+)({_name})', bygroups(Keyword.Declaration, Whitespace, Name.Class)),
+            (rf'\b(import)(\s+)({_name})', bygroups(Keyword.Namespace, Whitespace, Name.Namespace)),
+            include('expr')
+        ],
+        'expr': [
+            (r'[^\S\n]+', Whitespace),
+            (r'\.\.|[~!%^&*+=|?:<>/-]', Operator),
+            (r'[(){}\[\],.;]', Punctuation),
+            include('controls'),
+            include('builtins'),
+            include('funccall'),
+            include('member'),
+            include('name'),
+            include('strings')
+        ],
+        'whitespace': [
+            (r'\s+', Whitespace),
+            (r'#-(.|\n)*?-#', Comment.Multiline),
+            (r'#.*?$', Comment.Single)
+        ],
+        'keywords': [
+            (words((
+                'as', 'break', 'continue', 'import', 'static', 'self', 'super'), 
+                suffix=r'\b'), Keyword.Reserved),
+            (r'(true|false|nil)\b', Keyword.Constant),
+            (r'(var|def)\b', Keyword.Declaration)
+        ],
+        'controls': [
+            (words((
+                'if', 'elif', 'else', 'for', 'while', 'do', 'end', 'break', 
+                'continue', 'return', 'try', 'except', 'raise'),
+                suffix=r'\b'), Keyword)
+        ],
+        'builtins': [
+            (words((
+                'assert', 'bool', 'input', 'classname', 'classof', 'number', 'real',
+                'bytes', 'compile', 'map', 'list', 'int', 'isinstance', 'print',
+                'range', 'str', 'super', 'module', 'size', 'issubclass', 'open',
+                'file', 'type', 'call'), 
+                suffix=r'\b'), Name.Builtin)
+        ],
+        'numbers': [
+            (r'0[xX][a-fA-F0-9]+', Number.Hex),
+            (r'-?\d+', Number.Integer),
+            (r'(-?\d+\.?|\.\d)\d*([eE][+-]?\d+)?', Number.Float)
+        ],
+        'name': [
+            (_name, Name)
+        ],
+        'funccall': [
+            (rf'{_name}(?=\s*\()', Name.Function, '#pop')
+        ],
+        'member': [
+            (rf'(?<=\.){_name}\b(?!\()', Name.Attribute, '#pop')
+        ],
+        'strings': [
+            (r'"([^\\]|\\.)*?"', String.Double, '#pop'),
+            (r'\'([^\\]|\\.)*?\'', String.Single, '#pop')
+        ]
+    }
index c16946890168dbbf55ee7bec45442485717a5766..4a7c1e51c35b2eb9cf43ba7e1cd5e8b32acf0b72 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for BibTeX bibliography data and styles
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 8818eaded692c677b05f68bcd478bf3e51cc3f24..ce5e09be026e23b5b5a6b8c669421eb7bef82fee 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Boa language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 47713198ed82dcfdd99f1bb23f328f3bf19aaefd..da37d1464bdb4a4b631ad852635c25754721d01d 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for "business-oriented" languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index c9d1ed38ead56800f2d65ded22f289357d5c7c05..1f27b89cc026f79597d8db40a8e937d69fba03c0 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for C/C++ languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -52,14 +52,17 @@ class CFamilyLexer(RegexLexer):
              bygroups(using(this), Comment.Preproc), 'if0'),
             ('^(' + _ws1 + ')(#)',
              bygroups(using(this), Comment.Preproc), 'macro'),
-            (r'(^[ \t]*)(?!(?:public|private|protected|default)\b)(case\b\s+)?(' + _ident + r')(\s*)(:)(?!:)',
-             bygroups(Whitespace, using(this), Name.Label, Whitespace, Punctuation)),
+            # Labels:
+            (r'(^[ \t]*)'                                  # Line start and possible indentation.
+             r'(?!(?:public|private|protected|default)\b)' # Not followed by keywords which can be mistaken as labels.
+             r'(' + _ident + r')(\s*)(:)(?!:)',            # Actual label, followed by a single colon.
+             bygroups(Whitespace, Name.Label, Whitespace, Punctuation)),
             (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),
-            # Open until EOF, so no ending delimeter
+            # Open until EOF, so no ending delimiter
             (r'/(\\\n)?[*][\w\W]*', Comment.Multiline),
         ],
         'statements': [
@@ -91,9 +94,10 @@ class CFamilyLexer(RegexLexer):
         ],
         'keywords': [
             (r'(struct|union)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
-            (words(('asm', 'auto', 'break', 'case', 'const', 'continue',
-                    'default', 'do', 'else', 'enum', 'extern', 'for', 'goto',
-                    'if', 'register', 'restricted', 'return', 'sizeof', 'struct',
+            (r'case\b', Keyword, 'case-value'),
+            (words(('asm', 'auto', 'break', 'const', 'continue', 'default', 
+                    'do', 'else', 'enum', 'extern', 'for', 'goto', 'if',
+                    'register', 'restricted', 'return', 'sizeof', 'struct',
                     'static', 'switch', 'typedef', 'volatile', 'while', 'union',
                     'thread_local', 'alignas', 'alignof', 'static_assert', '_Pragma'),
                    suffix=r'\b'), Keyword),
@@ -174,6 +178,13 @@ class CFamilyLexer(RegexLexer):
             # template specification
             (r'\s*(?=>)', Text, '#pop'),
             default('#pop')
+        ],
+        # Mark identifiers preceded by `case` keyword as constants.
+        'case-value': [
+            (r'(?<!:)(:)(?!:)', Punctuation, '#pop'),
+            (_ident, Name.Constant),
+            include('whitespace'),
+            include('statements'),
         ]
     }
 
@@ -300,10 +311,11 @@ class CppLexer(CFamilyLexer):
         (default: ``True``).
     """
     name = 'C++'
+    url = 'https://isocpp.org/'
     aliases = ['cpp', 'c++']
     filenames = ['*.cpp', '*.hpp', '*.c++', '*.h++',
                  '*.cc', '*.hh', '*.cxx', '*.hxx',
-                 '*.C', '*.H', '*.cp', '*.CPP']
+                 '*.C', '*.H', '*.cp', '*.CPP', '*.tpp']
     mimetypes = ['text/x-c++hdr', 'text/x-c++src']
     priority = 0.1
 
index ed3864832db3807bd606b4f68c77fc2665171d70..6b511ded8518dff02b5a4607d2dbbda9d79c53f4 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for other C-like languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -573,12 +573,13 @@ class CharmciLexer(CppLexer):
 
 class OmgIdlLexer(CLexer):
     """
-    Lexer for `Object Management Group Interface Definition Language <https://www.omg.org/spec/IDL/About-IDL/>`_.
+    Lexer for Object Management Group Interface Definition Language.
 
     .. versionadded:: 2.9
     """
 
     name = 'OMG Interface Definition Language'
+    url = 'https://www.omg.org/spec/IDL/About-IDL/'
     aliases = ['omg-idl']
     filenames = ['*.idl', '*.pidl']
     mimetypes = []
index 0363eca47034d8d3ae19644399d04a93155920cd..202b072706e5ebbef02b8b83b2f55031fdc871a4 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Cap'n Proto schema language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -18,16 +18,15 @@ __all__ = ['CapnProtoLexer']
 
 class CapnProtoLexer(RegexLexer):
     """
-    For `Cap'n Proto <https://capnproto.org>`_ source.
+    For Cap'n Proto source.
 
     .. versionadded:: 2.2
     """
     name = 'Cap\'n Proto'
+    url = 'https://capnproto.org'
     filenames = ['*.capnp']
     aliases = ['capnp']
 
-    flags = re.MULTILINE | re.UNICODE
-
     tokens = {
         'root': [
             (r'#.*?$', Comment.Single),
index 5c949802e39de7ac99381816bb69a49059296b76..1d29787c1e6591f6b17abfa3b5a1dff39d764d96 100644 (file)
@@ -8,7 +8,7 @@
     More information:
     https://datatracker.ietf.org/doc/rfc8610/
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -38,6 +38,7 @@ class CddlLexer(RegexLexer):
     .. versionadded:: 2.8
     """
     name = "CDDL"
+    url = 'https://datatracker.ietf.org/doc/rfc8610/'
     aliases = ["cddl"]
     filenames = ["*.cddl"]
     mimetypes = ["text/x-cddl"]
@@ -114,15 +115,13 @@ class CddlLexer(RegexLexer):
     _re_uint = r"(?:0b[01]+|0x[0-9a-fA-F]+|[1-9]\d*|0(?!\d))"
     _re_int = r"-?" + _re_uint
 
-    flags = re.UNICODE | re.MULTILINE
-
     tokens = {
         "commentsandwhitespace": [(r"\s+", Whitespace), (r";.+$", Comment.Single)],
         "root": [
             include("commentsandwhitespace"),
             # tag types
             (r"#(\d\.{uint})?".format(uint=_re_uint), Keyword.Type),  # type or any
-            # occurence
+            # occurrence
             (
                 r"({uint})?(\*)({uint})?".format(uint=_re_uint),
                 bygroups(Number, Operator, Number),
index ad25981d8cd105e74fc9ed78d9c90e24442604fb..908d391edf0fb0ab0d2f8de51d4fa32e7c378329 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Chapel language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,11 +17,12 @@ __all__ = ['ChapelLexer']
 
 class ChapelLexer(RegexLexer):
     """
-    For `Chapel <https://chapel-lang.org/>`_ source.
+    For Chapel source.
 
     .. versionadded:: 2.0
     """
     name = 'Chapel'
+    url = 'https://chapel-lang.org/'
     filenames = ['*.chpl']
     aliases = ['chapel', 'chpl']
     # mimetypes = ['text/x-chapel']
index 579cf7c30d53bdbf5e04b22e35d1b30e633cf374..ff2bf6f5c01cf9a8062cc6142e49988b741604ed 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Clean language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -18,11 +18,12 @@ __all__ = ['CleanLexer']
 class CleanLexer(ExtendedRegexLexer):
     """
     Lexer for the general purpose, state-of-the-art, pure and lazy functional
-    programming language Clean (http://clean.cs.ru.nl/Clean).
+    programming language Clean.
 
     .. versionadded: 2.2
     """
     name = 'Clean'
+    url = 'http://clean.cs.ru.nl/Clean'
     aliases = ['clean']
     filenames = ['*.icl', '*.dcl']
 
index 13aa39ce2d57100b096f1e5913b1371e04ad941d..40493af4f8f850ec30470f8e14dc23f290046f85 100644 (file)
@@ -4,7 +4,7 @@
 
     Just export lexer classes previously contained in this module.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -16,7 +16,8 @@ from pygments.lexers.objective import ObjectiveCLexer, \
 from pygments.lexers.go import GoLexer
 from pygments.lexers.rust import RustLexer
 from pygments.lexers.c_like import ECLexer, ValaLexer, CudaLexer
-from pygments.lexers.pascal import DelphiLexer, Modula2Lexer, AdaLexer
+from pygments.lexers.pascal import DelphiLexer, Modula2Lexer
+from pygments.lexers.ada import AdaLexer
 from pygments.lexers.business import CobolLexer, CobolFreeformatLexer
 from pygments.lexers.fortran import FortranLexer
 from pygments.lexers.prolog import PrologLexer
index 99fab148606069884de975779430a75dd4bcb088..51aefd77952c05a19982eec92adda3c6eb6bce8c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for configuration file formats.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -22,7 +22,7 @@ __all__ = ['IniLexer', 'RegeditLexer', 'PropertiesLexer', 'KconfigLexer',
            'NginxConfLexer', 'LighttpdConfLexer', 'DockerLexer',
            'TerraformLexer', 'TermcapLexer', 'TerminfoLexer',
            'PkgConfigLexer', 'PacmanConfLexer', 'AugeasLexer', 'TOMLLexer',
-           'NestedTextLexer', 'SingularityLexer']
+           'NestedTextLexer', 'SingularityLexer', 'UnixConfigLexer']
 
 
 class IniLexer(RegexLexer):
@@ -62,14 +62,13 @@ class IniLexer(RegexLexer):
 
 class RegeditLexer(RegexLexer):
     """
-    Lexer for `Windows Registry
-    <http://en.wikipedia.org/wiki/Windows_Registry#.REG_files>`_ files produced
-    by regedit.
+    Lexer for Windows Registry files produced by regedit.
 
     .. versionadded:: 1.6
     """
 
     name = 'reg'
+    url = 'http://en.wikipedia.org/wiki/Windows_Registry#.REG_files'
     aliases = ['registry']
     filenames = ['*.reg']
     mimetypes = ['text/x-windows-registry']
@@ -231,12 +230,13 @@ class KconfigLexer(RegexLexer):
 
 class Cfengine3Lexer(RegexLexer):
     """
-    Lexer for `CFEngine3 <http://cfengine.org>`_ policy files.
+    Lexer for CFEngine3 policy files.
 
     .. versionadded:: 1.5
     """
 
     name = 'CFEngine3'
+    url = 'http://cfengine.org'
     aliases = ['cfengine3', 'cf3']
     filenames = ['*.cf']
     mimetypes = []
@@ -335,12 +335,13 @@ class ApacheConfLexer(RegexLexer):
 
 class SquidConfLexer(RegexLexer):
     """
-    Lexer for `squid <http://www.squid-cache.org/>`_ configuration files.
+    Lexer for squid configuration files.
 
     .. versionadded:: 0.9
     """
 
     name = 'SquidConf'
+    url = 'http://www.squid-cache.org/'
     aliases = ['squidconf', 'squid.conf', 'squid']
     filenames = ['squid.conf']
     mimetypes = ['text/x-squidconf']
@@ -465,11 +466,12 @@ class SquidConfLexer(RegexLexer):
 
 class NginxConfLexer(RegexLexer):
     """
-    Lexer for `Nginx <http://nginx.net/>`_ configuration files.
+    Lexer for Nginx configuration files.
 
     .. versionadded:: 0.11
     """
     name = 'Nginx configuration file'
+    url = 'http://nginx.net/'
     aliases = ['nginx']
     filenames = ['nginx.conf']
     mimetypes = ['text/x-nginx-conf']
@@ -511,11 +513,12 @@ class NginxConfLexer(RegexLexer):
 
 class LighttpdConfLexer(RegexLexer):
     """
-    Lexer for `Lighttpd <http://lighttpd.net/>`_ configuration files.
+    Lexer for Lighttpd configuration files.
 
     .. versionadded:: 0.11
     """
     name = 'Lighttpd configuration file'
+    url = 'http://lighttpd.net/'
     aliases = ['lighttpd', 'lighty']
     filenames = ['lighttpd.conf']
     mimetypes = ['text/x-lighttpd-conf']
@@ -539,11 +542,12 @@ class LighttpdConfLexer(RegexLexer):
 
 class DockerLexer(RegexLexer):
     """
-    Lexer for `Docker <http://docker.io>`_ configuration files.
+    Lexer for Docker configuration files.
 
     .. versionadded:: 2.0
     """
     name = 'Docker'
+    url = 'http://docker.io'
     aliases = ['docker', 'dockerfile']
     filenames = ['Dockerfile', '*.docker']
     mimetypes = ['text/x-dockerfile-config']
@@ -574,12 +578,13 @@ class DockerLexer(RegexLexer):
 
 class TerraformLexer(ExtendedRegexLexer):
     """
-    Lexer for `terraformi .tf files <https://www.terraform.io/>`_.
+    Lexer for terraformi ``.tf`` files.
 
     .. versionadded:: 2.1
     """
 
     name = 'Terraform'
+    url = 'https://www.terraform.io/'
     aliases = ['terraform', 'tf']
     filenames = ['*.tf']
     mimetypes = ['application/x-tf', 'application/x-terraform']
@@ -690,7 +695,7 @@ class TerraformLexer(ExtendedRegexLexer):
         ],
         'basic': [
             (r'\s*/\*', Comment.Multiline, 'comment'),
-            (r'\s*#.*\n', Comment.Single),
+            (r'\s*(#|//).*\n', Comment.Single),
             include('whitespace'),
 
             # e.g. terraform {
@@ -715,7 +720,8 @@ class TerraformLexer(ExtendedRegexLexer):
 
             # e.g. resource "aws_security_group" "allow_tls" {
             # e.g. backend "consul" {
-            (classes_re + r'(\s+)', bygroups(Keyword.Reserved, Whitespace), 'blockname'),
+            (classes_re + r'(\s+)("[0-9a-zA-Z-_]+")?(\s*)("[0-9a-zA-Z-_]+")(\s+)(\{)',
+             bygroups(Keyword.Reserved, Whitespace, Name.Class, Whitespace, Name.Variable, Whitespace, Punctuation)),
 
             # here-doc style delimited strings
             (
@@ -723,12 +729,6 @@ class TerraformLexer(ExtendedRegexLexer):
                 heredoc_callback,
             )
         ],
-        'blockname': [
-            # e.g. resource "aws_security_group" "allow_tls" {
-            # e.g. backend "consul" {
-            (r'(\s*)("[0-9a-zA-Z-_]+")?(\s*)("[0-9a-zA-Z-_]+")(\s+)(\{)',
-             bygroups(Whitespace, Name.Class, Whitespace, Name.Variable, Whitespace, Punctuation)),
-        ],
         'identifier': [
             (r'\b(var\.[0-9a-zA-Z-_\.\[\]]+)\b', bygroups(Name.Variable)),
             (r'\b([0-9a-zA-Z-_\[\]]+\.[0-9a-zA-Z-_\.\[\]]+)\b', bygroups(Name.Variable)),
@@ -846,14 +846,14 @@ class TerminfoLexer(RegexLexer):
 
 class PkgConfigLexer(RegexLexer):
     """
-    Lexer for `pkg-config
-    <http://www.freedesktop.org/wiki/Software/pkg-config/>`_
+    Lexer for pkg-config
     (see also `manual page <http://linux.die.net/man/1/pkg-config>`_).
 
     .. versionadded:: 2.1
     """
 
     name = 'PkgConfig'
+    url = 'http://www.freedesktop.org/wiki/Software/pkg-config/'
     aliases = ['pkgconfig']
     filenames = ['*.pc']
     mimetypes = []
@@ -904,8 +904,7 @@ class PkgConfigLexer(RegexLexer):
 
 class PacmanConfLexer(RegexLexer):
     """
-    Lexer for `pacman.conf
-    <https://www.archlinux.org/pacman/pacman.conf.5.html>`_.
+    Lexer for pacman.conf.
 
     Actually, IniLexer works almost fine for this format,
     but it yield error token. It is because pacman.conf has
@@ -923,6 +922,7 @@ class PacmanConfLexer(RegexLexer):
     """
 
     name = 'PacmanConf'
+    url = 'https://www.archlinux.org/pacman/pacman.conf.5.html'
     aliases = ['pacmanconf']
     filenames = ['pacman.conf']
     mimetypes = []
@@ -954,7 +954,7 @@ class PacmanConfLexer(RegexLexer):
              Name.Variable),
 
             # fallback
-            (r'\s+', Whitespace), 
+            (r'\s+', Whitespace),
             (r'.', Text),
         ],
     }
@@ -962,11 +962,12 @@ class PacmanConfLexer(RegexLexer):
 
 class AugeasLexer(RegexLexer):
     """
-    Lexer for `Augeas <http://augeas.net>`_.
+    Lexer for Augeas.
 
     .. versionadded:: 2.4
     """
     name = 'Augeas'
+    url = 'http://augeas.net'
     aliases = ['augeas']
     filenames = ['*.aug']
 
@@ -1006,13 +1007,14 @@ class AugeasLexer(RegexLexer):
 
 class TOMLLexer(RegexLexer):
     """
-    Lexer for `TOML <https://github.com/toml-lang/toml>`_, a simple language
+    Lexer for TOML, a simple language
     for config files.
 
     .. versionadded:: 2.4
     """
 
     name = 'TOML'
+    url = 'https://github.com/toml-lang/toml'
     aliases = ['toml']
     filenames = ['*.toml', 'Pipfile', 'poetry.lock']
 
@@ -1057,13 +1059,14 @@ class TOMLLexer(RegexLexer):
 
 class NestedTextLexer(RegexLexer):
     """
-    Lexer for `NextedText <https://nestedtext.org>`_, a human-friendly data 
+    Lexer for NextedText, a human-friendly data
     format.
-    
+
     .. versionadded:: 2.9
     """
 
     name = 'NestedText'
+    url = 'https://nestedtext.org'
     aliases = ['nestedtext', 'nt']
     filenames = ['*.nt']
 
@@ -1079,17 +1082,17 @@ class NestedTextLexer(RegexLexer):
             (r'^(\s*)(.*?)(:)( ?)(.*?)(\s*)$', bygroups(Whitespace, Name, Punctuation, Whitespace, String, Whitespace)),
         ],
     }
-        
+
 
 class SingularityLexer(RegexLexer):
     """
-    Lexer for `Singularity definition files
-    <https://www.sylabs.io/guides/3.0/user-guide/definition_files.html>`_.
+    Lexer for Singularity definition files.
 
     .. versionadded:: 2.6
     """
 
     name = 'Singularity'
+    url = 'https://www.sylabs.io/guides/3.0/user-guide/definition_files.html'
     aliases = ['singularity']
     filenames = ['*.def', 'Singularity']
     flags = re.IGNORECASE | re.MULTILINE | re.DOTALL
@@ -1124,3 +1127,30 @@ class SingularityLexer(RegexLexer):
             result += 0.49
 
         return result
+
+
+class UnixConfigLexer(RegexLexer):
+    """
+    Lexer for Unix/Linux config files using colon-separated values, e.g.
+
+    * ``/etc/group``
+    * ``/etc/passwd``
+    * ``/etc/shadow``
+    
+    .. versionadded:: 2.12
+    """
+
+    name = 'Unix/Linux config files'
+    aliases = ['unixconfig', 'linuxconfig']
+    filenames = []
+
+    tokens = {
+        'root': [
+            (r'^#.*', Comment),
+            (r'\n', Whitespace),
+            (r':', Punctuation),
+            (r'[0-9]+', Number),
+            (r'((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}', Text),
+            (r'[^:\n]+', String),
+        ],
+    }
index 5d7fea78f5709d3d8ec64685959a75afe6ae4c24..d4c0f0e37303d8fcbc2f03d1449c1776afb7cbd8 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for misc console output.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
diff --git a/pygments/lexers/cplint.py b/pygments/lexers/cplint.py
new file mode 100644 (file)
index 0000000..5c10885
--- /dev/null
@@ -0,0 +1,47 @@
+"""
+    pygments.lexers.cplint
+    ~~~~~~~~~~~~~~~~~~~~~~
+
+    Lexer for the cplint language
+    
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+
+from pygments.lexer import bygroups, inherit, words
+from pygments.lexers import PrologLexer
+from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
+    Number, Punctuation
+
+__all__ = ['CplintLexer']
+
+
+class CplintLexer(PrologLexer):
+    """
+    Lexer for cplint files, including CP-logic, Logic Programs with Annotated Disjunctions, 
+    Distributional Clauses syntax, ProbLog, DTProbLog
+
+    .. versionadded:: 2.12
+    """
+    name = 'cplint'
+    url = 'https://cplint.eu'
+    aliases = ['cplint']
+    filenames = ['*.ecl', '*.prolog', '*.pro', '*.pl', '*.P', '*.lpad', '*.cpl']
+    mimetypes = ['text/x-cplint']
+
+    tokens = {
+        'root': [
+            (r'map_query',Keyword),
+            (words(('gaussian','uniform_dens','dirichlet','gamma','beta','poisson','binomial','geometric',
+              'exponential','pascal','multinomial','user','val',
+              'uniform','discrete','finite')),Name.Builtin),
+            (r'([a-z]+)(:)', bygroups(String.Atom, Punctuation)), # annotations of atoms
+            (r':(-|=)|::?|~=?|=>', Operator),
+            (r'\?', Name.Builtin),
+            inherit,
+        ],
+    }
+
+
index d06ab0c0609555d85660abf2eb7ce867627c402f..7154a9b69e4a9e9bcefb83e9984dddd94878edf5 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Crystal.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -28,12 +28,13 @@ CRYSTAL_OPERATORS = [
 
 class CrystalLexer(ExtendedRegexLexer):
     """
-    For `Crystal <http://crystal-lang.org>`_ source code.
+    For Crystal source code.
 
     .. versionadded:: 2.2
     """
 
     name = 'Crystal'
+    url = 'http://crystal-lang.org'
     aliases = ['cr', 'crystal']
     filenames = ['*.cr']
     mimetypes = ['text/x-crystal']
index a871de8d725c012aaad8aef578d1a2a4aff2ad85..eddc834e78cd70b3518a83d1733bbfd47ff5d430 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Csound languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -24,6 +24,8 @@ newline = (r'((?:(?:;|//).*)*)(\n)', bygroups(Comment.Single, Text))
 
 
 class CsoundLexer(RegexLexer):
+    url = 'https://csound.com/'
+    
     tokens = {
         'whitespace': [
             (r'[ \t]+', Whitespace),
index 4b284cc8fa07ade38b16226c4489047b7e3502ca..9cbd0d33ac071ae3876e4e0a0013d10e3ea7c9a4 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for CSS and related stylesheet formats.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -15,6 +15,7 @@ from pygments.lexer import ExtendedRegexLexer, RegexLexer, include, bygroups, \
     default, words, inherit
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
     Number, Punctuation, Whitespace
+from pygments.lexers._css_builtins import _css_properties
 
 __all__ = ['CssLexer', 'SassLexer', 'ScssLexer', 'LessCssLexer']
 
@@ -26,102 +27,38 @@ _vendor_prefixes = (
     '-webkit-', 'prince-', '-ah-', '-hp-', '-ro-', '-rim-', '-tc-',
 )
 
-# List of CSS properties obtained from:
-# https://www.w3.org/Style/CSS/all-properties.en.html
-# Note: handle --* separately
-_css_properties = (
-    'align-content', 'align-items', 'align-self', 'alignment-baseline', 'all',
-    'animation', 'animation-delay', 'animation-direction',
-    'animation-duration', 'animation-fill-mode', 'animation-iteration-count',
-    'animation-name', 'animation-play-state', 'animation-timing-function',
-    'appearance', 'azimuth', 'backface-visibility', 'background',
-    'background-attachment', 'background-blend-mode', 'background-clip',
-    'background-color', 'background-image', 'background-origin',
-    'background-position', 'background-repeat', 'background-size',
-    'baseline-shift', 'bookmark-label', 'bookmark-level', 'bookmark-state',
-    'border', 'border-bottom', 'border-bottom-color',
-    'border-bottom-left-radius', 'border-bottom-right-radius',
-    'border-bottom-style', 'border-bottom-width', 'border-boundary',
-    'border-collapse', 'border-color', 'border-image', 'border-image-outset',
-    'border-image-repeat', 'border-image-slice', 'border-image-source',
-    'border-image-width', 'border-left', 'border-left-color',
-    'border-left-style', 'border-left-width', 'border-radius', 'border-right',
-    'border-right-color', 'border-right-style', 'border-right-width',
-    'border-spacing', 'border-style', 'border-top', 'border-top-color',
-    'border-top-left-radius', 'border-top-right-radius', 'border-top-style',
-    'border-top-width', 'border-width', 'bottom', 'box-decoration-break',
-    'box-shadow', 'box-sizing', 'box-snap', 'box-suppress', 'break-after',
-    'break-before', 'break-inside', 'caption-side', 'caret', 'caret-animation',
-    'caret-color', 'caret-shape', 'chains', 'clear', 'clip', 'clip-path',
-    'clip-rule', 'color', 'color-interpolation-filters', 'column-count',
-    'column-fill', 'column-gap', 'column-rule', 'column-rule-color',
-    'column-rule-style', 'column-rule-width', 'column-span', 'column-width',
-    'columns', 'content', 'counter-increment', 'counter-reset', 'counter-set',
-    'crop', 'cue', 'cue-after', 'cue-before', 'cursor', 'direction', 'display',
-    'dominant-baseline', 'elevation', 'empty-cells', 'filter', 'flex',
-    'flex-basis', 'flex-direction', 'flex-flow', 'flex-grow', 'flex-shrink',
-    'flex-wrap', 'float', 'float-defer', 'float-offset', 'float-reference',
-    'flood-color', 'flood-opacity', 'flow', 'flow-from', 'flow-into', 'font',
-    'font-family', 'font-feature-settings', 'font-kerning',
-    'font-language-override', 'font-size', 'font-size-adjust', 'font-stretch',
-    'font-style', 'font-synthesis', 'font-variant', 'font-variant-alternates',
-    'font-variant-caps', 'font-variant-east-asian', 'font-variant-ligatures',
-    'font-variant-numeric', 'font-variant-position', 'font-weight',
-    'footnote-display', 'footnote-policy', 'glyph-orientation-vertical',
-    'grid', 'grid-area', 'grid-auto-columns', 'grid-auto-flow',
-    'grid-auto-rows', 'grid-column', 'grid-column-end', 'grid-column-gap',
-    'grid-column-start', 'grid-gap', 'grid-row', 'grid-row-end',
-    'grid-row-gap', 'grid-row-start', 'grid-template', 'grid-template-areas',
-    'grid-template-columns', 'grid-template-rows', 'hanging-punctuation',
-    'height', 'hyphenate-character', 'hyphenate-limit-chars',
-    'hyphenate-limit-last', 'hyphenate-limit-lines', 'hyphenate-limit-zone',
-    'hyphens', 'image-orientation', 'image-resolution', 'initial-letter',
-    'initial-letter-align', 'initial-letter-wrap', 'isolation',
-    'justify-content', 'justify-items', 'justify-self', 'left',
-    'letter-spacing', 'lighting-color', 'line-break', 'line-grid',
-    'line-height', 'line-snap', 'list-style', 'list-style-image',
-    'list-style-position', 'list-style-type', 'margin', 'margin-bottom',
-    'margin-left', 'margin-right', 'margin-top', 'marker-side',
-    'marquee-direction', 'marquee-loop', 'marquee-speed', 'marquee-style',
-    'mask', 'mask-border', 'mask-border-mode', 'mask-border-outset',
-    'mask-border-repeat', 'mask-border-slice', 'mask-border-source',
-    'mask-border-width', 'mask-clip', 'mask-composite', 'mask-image',
-    'mask-mode', 'mask-origin', 'mask-position', 'mask-repeat', 'mask-size',
-    'mask-type', 'max-height', 'max-lines', 'max-width', 'min-height',
-    'min-width', 'mix-blend-mode', 'motion', 'motion-offset', 'motion-path',
-    'motion-rotation', 'move-to', 'nav-down', 'nav-left', 'nav-right',
-    'nav-up', 'object-fit', 'object-position', 'offset-after', 'offset-before',
-    'offset-end', 'offset-start', 'opacity', 'order', 'orphans', 'outline',
-    'outline-color', 'outline-offset', 'outline-style', 'outline-width',
-    'overflow', 'overflow-style', 'overflow-wrap', 'overflow-x', 'overflow-y',
-    'padding', 'padding-bottom', 'padding-left', 'padding-right', 'padding-top',
-    'page', 'page-break-after', 'page-break-before', 'page-break-inside',
-    'page-policy', 'pause', 'pause-after', 'pause-before', 'perspective',
-    'perspective-origin', 'pitch', 'pitch-range', 'play-during', 'polar-angle',
-    'polar-distance', 'position', 'presentation-level', 'quotes',
-    'region-fragment', 'resize', 'rest', 'rest-after', 'rest-before',
-    'richness', 'right', 'rotation', 'rotation-point', 'ruby-align',
-    'ruby-merge', 'ruby-position', 'running', 'scroll-snap-coordinate',
-    'scroll-snap-destination', 'scroll-snap-points-x', 'scroll-snap-points-y',
-    'scroll-snap-type', 'shape-image-threshold', 'shape-inside', 'shape-margin',
-    'shape-outside', 'size', 'speak', 'speak-as', 'speak-header',
-    'speak-numeral', 'speak-punctuation', 'speech-rate', 'stress', 'string-set',
-    'tab-size', 'table-layout', 'text-align', 'text-align-last',
-    'text-combine-upright', 'text-decoration', 'text-decoration-color',
-    'text-decoration-line', 'text-decoration-skip', 'text-decoration-style',
-    'text-emphasis', 'text-emphasis-color', 'text-emphasis-position',
-    'text-emphasis-style', 'text-indent', 'text-justify', 'text-orientation',
-    'text-overflow', 'text-shadow', 'text-space-collapse', 'text-space-trim',
-    'text-spacing', 'text-transform', 'text-underline-position', 'text-wrap',
-    'top', 'transform', 'transform-origin', 'transform-style', 'transition',
-    'transition-delay', 'transition-duration', 'transition-property',
-    'transition-timing-function', 'unicode-bidi', 'user-select',
-    'vertical-align', 'visibility', 'voice-balance', 'voice-duration',
-    'voice-family', 'voice-pitch', 'voice-range', 'voice-rate', 'voice-stress',
-    'voice-volume', 'volume', 'white-space', 'widows', 'width', 'will-change',
-    'word-break', 'word-spacing', 'word-wrap', 'wrap-after', 'wrap-before',
-    'wrap-flow', 'wrap-inside', 'wrap-through', 'writing-mode', 'z-index',
-)
+# List of extended color keywords obtained from:
+# https://drafts.csswg.org/css-color/#named-colors
+_color_keywords = (
+    'aliceblue', 'antiquewhite', 'aqua', 'aquamarine', 'azure', 'beige',
+    'bisque', 'black', 'blanchedalmond', 'blue', 'blueviolet', 'brown',
+    'burlywood', 'cadetblue', 'chartreuse', 'chocolate', 'coral',
+    'cornflowerblue', 'cornsilk', 'crimson', 'cyan', 'darkblue', 'darkcyan',
+    'darkgoldenrod', 'darkgray', 'darkgreen', 'darkgrey', 'darkkhaki',
+    'darkmagenta', 'darkolivegreen', 'darkorange', 'darkorchid', 'darkred',
+    'darksalmon', 'darkseagreen', 'darkslateblue', 'darkslategray',
+    'darkslategrey', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue',
+    'dimgray', 'dimgrey', 'dodgerblue', 'firebrick', 'floralwhite',
+    'forestgreen', 'fuchsia', 'gainsboro', 'ghostwhite', 'gold', 'goldenrod',
+    'gray', 'green', 'greenyellow', 'grey', 'honeydew', 'hotpink', 'indianred',
+    'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush', 'lawngreen',
+    'lemonchiffon', 'lightblue', 'lightcoral', 'lightcyan',
+    'lightgoldenrodyellow', 'lightgray', 'lightgreen', 'lightgrey',
+    'lightpink', 'lightsalmon', 'lightseagreen', 'lightskyblue',
+    'lightslategray', 'lightslategrey', 'lightsteelblue', 'lightyellow',
+    'lime', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine',
+    'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen',
+    'mediumslateblue', 'mediumspringgreen', 'mediumturquoise',
+    'mediumvioletred', 'midnightblue', 'mintcream', 'mistyrose', 'moccasin',
+    'navajowhite', 'navy', 'oldlace', 'olive', 'olivedrab', 'orange',
+    'orangered', 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise',
+    'palevioletred', 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum',
+    'powderblue', 'purple', 'rebeccapurple', 'red', 'rosybrown', 'royalblue',
+    'saddlebrown', 'salmon', 'sandybrown', 'seagreen', 'seashell', 'sienna',
+    'silver', 'skyblue', 'slateblue', 'slategray', 'slategrey', 'snow',
+    'springgreen', 'steelblue', 'tan', 'teal', 'thistle', 'tomato', 'turquoise',
+    'violet', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen',
+) + ('transparent',)
 
 # List of keyword values obtained from:
 # http://cssvalues.com/
@@ -179,39 +116,6 @@ _keyword_values = (
     'x-small', 'xx-large', 'xx-small', 'zoom-in', 'zoom-out',
 )
 
-# List of extended color keywords obtained from:
-# https://drafts.csswg.org/css-color/#named-colors
-_color_keywords = (
-    'aliceblue', 'antiquewhite', 'aqua', 'aquamarine', 'azure', 'beige',
-    'bisque', 'black', 'blanchedalmond', 'blue', 'blueviolet', 'brown',
-    'burlywood', 'cadetblue', 'chartreuse', 'chocolate', 'coral',
-    'cornflowerblue', 'cornsilk', 'crimson', 'cyan', 'darkblue', 'darkcyan',
-    'darkgoldenrod', 'darkgray', 'darkgreen', 'darkgrey', 'darkkhaki',
-    'darkmagenta', 'darkolivegreen', 'darkorange', 'darkorchid', 'darkred',
-    'darksalmon', 'darkseagreen', 'darkslateblue', 'darkslategray',
-    'darkslategrey', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue',
-    'dimgray', 'dimgrey', 'dodgerblue', 'firebrick', 'floralwhite',
-    'forestgreen', 'fuchsia', 'gainsboro', 'ghostwhite', 'gold', 'goldenrod',
-    'gray', 'green', 'greenyellow', 'grey', 'honeydew', 'hotpink', 'indianred',
-    'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush', 'lawngreen',
-    'lemonchiffon', 'lightblue', 'lightcoral', 'lightcyan',
-    'lightgoldenrodyellow', 'lightgray', 'lightgreen', 'lightgrey',
-    'lightpink', 'lightsalmon', 'lightseagreen', 'lightskyblue',
-    'lightslategray', 'lightslategrey', 'lightsteelblue', 'lightyellow',
-    'lime', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine',
-    'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen',
-    'mediumslateblue', 'mediumspringgreen', 'mediumturquoise',
-    'mediumvioletred', 'midnightblue', 'mintcream', 'mistyrose', 'moccasin',
-    'navajowhite', 'navy', 'oldlace', 'olive', 'olivedrab', 'orange',
-    'orangered', 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise',
-    'palevioletred', 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum',
-    'powderblue', 'purple', 'rebeccapurple', 'red', 'rosybrown', 'royalblue',
-    'saddlebrown', 'salmon', 'sandybrown', 'seagreen', 'seashell', 'sienna',
-    'silver', 'skyblue', 'slateblue', 'slategray', 'slategrey', 'snow',
-    'springgreen', 'steelblue', 'tan', 'teal', 'thistle', 'tomato', 'turquoise',
-    'violet', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen',
-) + ('transparent',)
-
 # List of other keyword values from other sources:
 _other_keyword_values = (
     'above', 'aural', 'behind', 'bidi-override', 'center-left', 'center-right',
@@ -270,6 +174,7 @@ class CssLexer(RegexLexer):
     """
 
     name = 'CSS'
+    url = 'https://www.w3.org/TR/CSS/#css'
     aliases = ['css']
     filenames = ['*.css']
     mimetypes = ['text/css']
@@ -545,6 +450,7 @@ class SassLexer(ExtendedRegexLexer):
     """
 
     name = 'Sass'
+    url = 'https://sass-lang.com/'
     aliases = ['sass']
     filenames = ['*.sass']
     mimetypes = ['text/x-sass']
@@ -625,6 +531,7 @@ class ScssLexer(RegexLexer):
     """
 
     name = 'SCSS'
+    url = 'https://sass-lang.com/'
     aliases = ['scss']
     filenames = ['*.scss']
     mimetypes = ['text/x-scss']
@@ -671,12 +578,13 @@ class ScssLexer(RegexLexer):
 
 class LessCssLexer(CssLexer):
     """
-    For `LESS <http://lesscss.org/>`_ styleshets.
+    For LESS styleshets.
 
     .. versionadded:: 2.1
     """
 
     name = 'LessCss'
+    url = 'http://lesscss.org/'
     aliases = ['less']
     filenames = ['*.less']
     mimetypes = ['text/x-less-css']
index 7844de550f1e248368afc39bc7a1fbc15a4b8f56..672ffd3ee98a7743201119f653c4030ddc7e6fff 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for D languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -22,6 +22,7 @@ class DLexer(RegexLexer):
     .. versionadded:: 1.2
     """
     name = 'D'
+    url = 'https://dlang.org/'
     filenames = ['*.d', '*.di']
     aliases = ['d']
     mimetypes = ['text/x-dsrc']
@@ -186,9 +187,10 @@ class DLexer(RegexLexer):
 
 class CrocLexer(RegexLexer):
     """
-    For `Croc <http://jfbillingsley.com/croc>`_ source.
+    For Croc source.
     """
     name = 'Croc'
+    url = 'http://jfbillingsley.com/croc'
     filenames = ['*.croc']
     aliases = ['croc']
     mimetypes = ['text/x-crocsrc']
index 6d9fb5464e8bbc8de8969bb22f75b90f6cbcaa88..11cc230d18a831acbff40186a961cbd6e77bdf9f 100644 (file)
@@ -4,7 +4,7 @@
 
     Pygments lexers for Dalvik VM-related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,12 +19,13 @@ __all__ = ['SmaliLexer']
 
 class SmaliLexer(RegexLexer):
     """
-    For `Smali <http://code.google.com/p/smali/>`_ (Android/Dalvik) assembly
+    For Smali (Android/Dalvik) assembly
     code.
 
     .. versionadded:: 1.6
     """
     name = 'Smali'
+    url = 'http://code.google.com/p/smali/'
     aliases = ['smali']
     filenames = ['*.smali']
     mimetypes = ['text/smali']
index c702d4209346df8d2b974a31ad3153fb7e550cc6..e7d0a8436d21b46167a6a7740b0b1fda28bf305f 100644 (file)
@@ -4,14 +4,14 @@
 
     Lexers for data file format.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 from pygments.lexer import Lexer, ExtendedRegexLexer, LexerContext, \
     include, bygroups
-from pygments.token import Text, Comment, Keyword, Name, String, Number, \
-    Punctuation, Literal, Error, Whitespace
+from pygments.token import Comment, Error, Keyword, Literal, Name, Number, \
+    Punctuation, String, Whitespace
 
 __all__ = ['YamlLexer', 'JsonLexer', 'JsonBareObjectLexer', 'JsonLdLexer']
 
@@ -29,13 +29,14 @@ class YamlLexerContext(LexerContext):
 
 class YamlLexer(ExtendedRegexLexer):
     """
-    Lexer for `YAML <http://yaml.org/>`_, a human-friendly data serialization
+    Lexer for YAML, a human-friendly data serialization
     language.
 
     .. versionadded:: 0.11
     """
 
     name = 'YAML'
+    url = 'http://yaml.org/'
     aliases = ['yaml']
     filenames = ['*.yaml', '*.yml']
     mimetypes = ['text/x-yaml']
@@ -437,10 +438,17 @@ class JsonLexer(Lexer):
     """
     For JSON data structures.
 
+    Javascript-style comments are supported (like ``/* */`` and ``//``),
+    though comments are not part of the JSON specification.
+    This allows users to highlight JSON as it is used in the wild.
+
+    No validation is performed on the input JSON document.
+
     .. versionadded:: 1.5
     """
 
     name = 'JSON'
+    url = 'https://www.json.org'
     aliases = ['json', 'json-object']
     filenames = ['*.json', 'Pipfile.lock']
     mimetypes = ['application/json', 'application/json-object']
@@ -471,6 +479,10 @@ class JsonLexer(Lexer):
         in_number = False
         in_float = False
         in_punctuation = False
+        in_comment_single = False
+        in_comment_multiline = False
+        expecting_second_comment_opener = False  # // or /*
+        expecting_second_comment_closer = False  # */
 
         start = 0
 
@@ -564,6 +576,49 @@ class JsonLexer(Lexer):
                 in_punctuation = False
                 # Fall through so the new character can be evaluated.
 
+            elif in_comment_single:
+                if character != '\n':
+                    continue
+
+                if queue:
+                    queue.append((start, Comment.Single, text[start:stop]))
+                else:
+                    yield start, Comment.Single, text[start:stop]
+
+                in_comment_single = False
+                # Fall through so the new character can be evaluated.
+
+            elif in_comment_multiline:
+                if character == '*':
+                    expecting_second_comment_closer = True
+                elif expecting_second_comment_closer:
+                    expecting_second_comment_closer = False
+                    if character == '/':
+                        if queue:
+                            queue.append((start, Comment.Multiline, text[start:stop + 1]))
+                        else:
+                            yield start, Comment.Multiline, text[start:stop + 1]
+
+                        in_comment_multiline = False
+
+                continue
+
+            elif expecting_second_comment_opener:
+                expecting_second_comment_opener = False
+                if character == '/':
+                    in_comment_single = True
+                    continue
+                elif character == '*':
+                    in_comment_multiline = True
+                    continue
+
+                # Exhaust the queue. Accept the existing token types.
+                yield from queue
+                queue.clear()
+
+                yield start, Error, text[start:stop]
+                # Fall through so the new character can be evaluated.
+
             start = stop
 
             if character == '"':
@@ -589,18 +644,18 @@ class JsonLexer(Lexer):
             elif character == ':':
                 # Yield from the queue. Replace string token types.
                 for _start, _token, _text in queue:
-                    # There can be only two types of tokens before a ':':
-                    # Whitespace, or a quoted string. If it's a quoted string
-                    # we emit Name.Tag, otherwise, we yield the whitespace
-                    # tokens. In all other cases this is invalid JSON. This
-                    # allows for things like '"foo" "bar": "baz"' but we're not
-                    # a validating JSON lexer so it's acceptable
-                    if _token is Whitespace:
-                        yield _start, _token, _text
-                    elif _token is String.Double:
+                    # There can be only three types of tokens before a ':':
+                    # Whitespace, Comment, or a quoted string.
+                    #
+                    # If it's a quoted string we emit Name.Tag.
+                    # Otherwise, we yield the original token.
+                    #
+                    # In all other cases this would be invalid JSON,
+                    # but this is not a validating JSON lexer, so it's OK.
+                    if _token is String.Double:
                         yield _start, Name.Tag, _text
                     else:
-                        yield _start, Error, _text
+                        yield _start, _token, _text
                 queue.clear()
 
                 in_punctuation = True
@@ -612,6 +667,10 @@ class JsonLexer(Lexer):
 
                 in_punctuation = True
 
+            elif character == '/':
+                # This is the beginning of a comment.
+                expecting_second_comment_opener = True
+
             else:
                 # Exhaust the queue. Accept the existing token types.
                 yield from queue
@@ -633,6 +692,12 @@ class JsonLexer(Lexer):
             yield start, Whitespace, text[start:]
         elif in_punctuation:
             yield start, Punctuation, text[start:]
+        elif in_comment_single:
+            yield start, Comment.Single, text[start:]
+        elif in_comment_multiline:
+            yield start, Error, text[start:]
+        elif expecting_second_comment_opener:
+            yield start, Error, text[start:]
 
 
 class JsonBareObjectLexer(JsonLexer):
@@ -654,12 +719,13 @@ class JsonBareObjectLexer(JsonLexer):
 
 class JsonLdLexer(JsonLexer):
     """
-    For `JSON-LD <https://json-ld.org/>`_ linked data.
+    For JSON-LD linked data.
 
     .. versionadded:: 2.0
     """
 
     name = 'JSON-LD'
+    url = 'https://json-ld.org/'
     aliases = ['jsonld', 'json-ld']
     filenames = ['*.jsonld']
     mimetypes = ['application/ld+json']
index cb25a330fd99187024c809d8c8e1bef4451af577..15b72ae716b7d51df8232928b418de2c6cf6a598 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Devicetree language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,12 +17,13 @@ __all__ = ['DevicetreeLexer']
 
 class DevicetreeLexer(RegexLexer):
     """
-    Lexer for `Devicetree <https://www.devicetree.org/>`_ files.
+    Lexer for Devicetree files.
 
     .. versionadded:: 2.7
     """
 
     name = 'Devicetree'
+    url = 'https://www.devicetree.org/'
     aliases = ['devicetree', 'dts']
     filenames = ['*.dts', '*.dtsi']
     mimetypes = ['text/x-c']
@@ -51,7 +52,7 @@ class DevicetreeLexer(RegexLexer):
             (r'\\\n', Text),  # line continuation
             (r'//(\n|[\w\W]*?[^\\]\n)', Comment.Single),
             (r'/(\\\n)?[*][\w\W]*?[*](\\\n)?/', Comment.Multiline),
-            # Open until EOF, so no ending delimeter
+            # Open until EOF, so no ending delimiter
             (r'/(\\\n)?[*][\w\W]*', Comment.Multiline),
         ],
         'statements': [
index a694bd68e6a7ece3e1162a70ccfcaa56ec2585be..6a7ba2f3aa90d415a34e17f0043ba964d0d4749d 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for diff/patch formats.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -109,7 +109,7 @@ class DarcsPatchLexer(RegexLexer):
 
 class WDiffLexer(RegexLexer):
     """
-    A `wdiff <https://www.gnu.org/software/wdiff/>`_ lexer.
+    A wdiff lexer.
 
     Note that:
 
@@ -121,6 +121,7 @@ class WDiffLexer(RegexLexer):
     """
 
     name = 'WDiff'
+    url = 'https://www.gnu.org/software/wdiff/'
     aliases = ['wdiff']
     filenames = ['*.wdiff']
     mimetypes = []
index c04d2a0a9269115e3d49a2a191f7fbc44fc84aa7..751fdae3aa31b51790ca105b094888526fe6ab05 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for .net languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 import re
@@ -24,8 +24,7 @@ __all__ = ['CSharpLexer', 'NemerleLexer', 'BooLexer', 'VbNetLexer',
 
 class CSharpLexer(RegexLexer):
     """
-    For `C# <http://msdn2.microsoft.com/en-us/vcsharp/default.aspx>`_
-    source code.
+    For C# source code.
 
     Additional options accepted:
 
@@ -47,11 +46,12 @@ class CSharpLexer(RegexLexer):
     """
 
     name = 'C#'
+    url = 'https://docs.microsoft.com/en-us/dotnet/csharp/'
     aliases = ['csharp', 'c#', 'cs']
     filenames = ['*.cs']
     mimetypes = ['text/x-csharp']  # inferred
 
-    flags = re.MULTILINE | re.DOTALL | re.UNICODE
+    flags = re.MULTILINE | re.DOTALL
 
     # for the range of allowed unicode characters in identifiers, see
     # http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf
@@ -77,7 +77,7 @@ class CSharpLexer(RegexLexer):
                 (r'^([ \t]*)((?:' + cs_ident + r'(?:\[\])?\s+)+?)'  # return type
                  r'(' + cs_ident + ')'                            # method name
                  r'(\s*)(\()',                               # signature start
-                 bygroups(Whitespace, using(this), Name.Function, Whitespace, 
+                 bygroups(Whitespace, using(this), Name.Function, Whitespace,
                      Punctuation)),
                 (r'^(\s*)(\[.*?\])', bygroups(Whitespace, Name.Attribute)),
                 (r'[^\S\n]+', Whitespace),
@@ -94,7 +94,7 @@ class CSharpLexer(RegexLexer):
                  r"[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?", Number),
                 (r'(#)([ \t]*)(if|endif|else|elif|define|undef|'
                  r'line|error|warning|region|endregion|pragma)\b(.*?)(\n)',
-                 bygroups(Comment.Preproc, Whitespace, Comment.Preproc, 
+                 bygroups(Comment.Preproc, Whitespace, Comment.Preproc,
                      Comment.Preproc, Whitespace)),
                 (r'\b(extern)(\s+)(alias)\b', bygroups(Keyword, Whitespace,
                  Keyword)),
@@ -140,7 +140,7 @@ class CSharpLexer(RegexLexer):
 
 class NemerleLexer(RegexLexer):
     """
-    For `Nemerle <http://nemerle.org>`_ source code.
+    For Nemerle source code.
 
     Additional options accepted:
 
@@ -162,11 +162,12 @@ class NemerleLexer(RegexLexer):
     """
 
     name = 'Nemerle'
+    url = 'http://nemerle.org'
     aliases = ['nemerle']
     filenames = ['*.n']
     mimetypes = ['text/x-nemerle']  # inferred
 
-    flags = re.MULTILINE | re.DOTALL | re.UNICODE
+    flags = re.MULTILINE | re.DOTALL
 
     # for the range of allowed unicode characters in identifiers, see
     # http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf
@@ -206,7 +207,7 @@ class NemerleLexer(RegexLexer):
                     'splice-string2'),
                 (r'<#', String, 'recursive-string'),
 
-                (r'(<\[)(\s*)(' + cs_ident + ':)?', bygroups(Keyword, 
+                (r'(<\[)(\s*)(' + cs_ident + ':)?', bygroups(Keyword,
                     Whitespace, Keyword)),
                 (r'\]\>', Keyword),
 
@@ -317,10 +318,11 @@ class NemerleLexer(RegexLexer):
 
 class BooLexer(RegexLexer):
     """
-    For `Boo <http://boo.codehaus.org/>`_ source code.
+    For Boo source code.
     """
 
     name = 'Boo'
+    url = 'https://github.com/boo-lang/boo'
     aliases = ['boo']
     filenames = ['*.boo']
     mimetypes = ['text/x-boo']
@@ -384,12 +386,11 @@ class BooLexer(RegexLexer):
 
 class VbNetLexer(RegexLexer):
     """
-    For
-    `Visual Basic.NET <http://msdn2.microsoft.com/en-us/vbasic/default.aspx>`_
-    source code.
+    For Visual Basic.NET source code.
     """
 
     name = 'VB.net'
+    url = 'https://docs.microsoft.com/en-us/dotnet/visual-basic/'
     aliases = ['vb.net', 'vbnet']
     filenames = ['*.vb', '*.bas']
     mimetypes = ['text/x-vbnet', 'text/x-vba']  # (?)
@@ -559,12 +560,13 @@ class VbNetAspxLexer(DelegatingLexer):
 # Very close to functional.OcamlLexer
 class FSharpLexer(RegexLexer):
     """
-    For the `F# language <https://fsharp.org/>`_ (version 3.0).
+    For the F# language (version 3.0).
 
     .. versionadded:: 1.5
     """
 
     name = 'F#'
+    url= 'https://fsharp.org/'
     aliases = ['fsharp', 'f#']
     filenames = ['*.fs', '*.fsi']
     mimetypes = ['text/x-fsharp']
@@ -645,7 +647,7 @@ class FSharpLexer(RegexLexer):
             (r'\b(%s)\b' % '|'.join(word_operators), Operator.Word),
             (r'\b(%s)\b' % '|'.join(primitives), Keyword.Type),
             (r'(#)([ \t]*)(if|endif|else|line|nowarn|light|\d+)\b(.*?)(\n)',
-             bygroups(Comment.Preproc, Whitespace, Comment.Preproc, 
+             bygroups(Comment.Preproc, Whitespace, Comment.Preproc,
                  Comment.Preproc, Whitespace)),
 
             (r"[^\W\d][\w']*", Name),
index b6847d044785a0a57f3204ba0cd93bc4a6fefdf4..0b51341a810e6dae1f275a12e9c986d8109bd7a0 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for various domain-specific languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -22,13 +22,13 @@ __all__ = ['ProtoBufLexer', 'ZeekLexer', 'PuppetLexer', 'RslLexer',
 
 class ProtoBufLexer(RegexLexer):
     """
-    Lexer for `Protocol Buffer <http://code.google.com/p/protobuf/>`_
-    definition files.
+    Lexer for Protocol Buffer definition files.
 
     .. versionadded:: 1.4
     """
 
     name = 'Protocol Buffer'
+    url = 'https://developers.google.com/protocol-buffers/'
     aliases = ['protobuf', 'proto']
     filenames = ['*.proto']
 
@@ -84,11 +84,12 @@ class ProtoBufLexer(RegexLexer):
 
 class ThriftLexer(RegexLexer):
     """
-    For `Thrift <https://thrift.apache.org/>`__ interface definitions.
+    For Thrift interface definitions.
 
     .. versionadded:: 2.1
     """
     name = 'Thrift'
+    url = 'https://thrift.apache.org/'
     aliases = ['thrift']
     filenames = ['*.thrift']
     mimetypes = ['application/x-thrift']
@@ -189,11 +190,12 @@ class ThriftLexer(RegexLexer):
 
 class ZeekLexer(RegexLexer):
     """
-    For `Zeek <https://www.zeek.org/>`_ scripts.
+    For Zeek scripts.
 
     .. versionadded:: 2.5
     """
     name = 'Zeek'
+    url = 'https://www.zeek.org/'
     aliases = ['zeek', 'bro']
     filenames = ['*.zeek', '*.bro']
 
@@ -350,11 +352,12 @@ BroLexer = ZeekLexer
 
 class PuppetLexer(RegexLexer):
     """
-    For `Puppet <http://puppetlabs.com/>`__ configuration DSL.
+    For Puppet configuration DSL.
 
     .. versionadded:: 1.6
     """
     name = 'Puppet'
+    url = 'https://puppet.com/'
     aliases = ['puppet']
     filenames = ['*.pp']
 
@@ -437,13 +440,14 @@ class PuppetLexer(RegexLexer):
 
 class RslLexer(RegexLexer):
     """
-    `RSL <http://en.wikipedia.org/wiki/RAISE>`_ is the formal specification
+    RSL is the formal specification
     language used in RAISE (Rigorous Approach to Industrial Software Engineering)
     method.
 
     .. versionadded:: 2.0
     """
     name = 'RSL'
+    url = 'http://en.wikipedia.org/wiki/RAISE'
     aliases = ['rsl']
     filenames = ['*.rsl']
     mimetypes = ['text/rsl']
@@ -500,11 +504,12 @@ class RslLexer(RegexLexer):
 
 class MscgenLexer(RegexLexer):
     """
-    For `Mscgen <http://www.mcternan.me.uk/mscgen/>`_ files.
+    For Mscgen files.
 
     .. versionadded:: 1.6
     """
     name = 'Mscgen'
+    url = 'http://www.mcternan.me.uk/mscgen/'
     aliases = ['mscgen', 'msc']
     filenames = ['*.msc']
 
@@ -549,12 +554,12 @@ class MscgenLexer(RegexLexer):
 
 class VGLLexer(RegexLexer):
     """
-    For `SampleManager VGL <http://www.thermoscientific.com/samplemanager>`_
-    source code.
+    For SampleManager VGL source code.
 
     .. versionadded:: 1.6
     """
     name = 'VGL'
+    url = 'http://www.thermoscientific.com/samplemanager'
     aliases = ['vgl']
     filenames = ['*.rpf']
 
@@ -583,12 +588,13 @@ class VGLLexer(RegexLexer):
 
 class AlloyLexer(RegexLexer):
     """
-    For `Alloy <http://alloy.mit.edu>`_ source code.
+    For Alloy source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'Alloy'
+    url = 'http://alloy.mit.edu'
     aliases = ['alloy']
     filenames = ['*.als']
     mimetypes = ['text/x-alloy']
@@ -643,7 +649,7 @@ class AlloyLexer(RegexLexer):
 
 class PanLexer(RegexLexer):
     """
-    Lexer for `pan <https://github.com/quattor/pan/>`_ source files.
+    Lexer for pan source files.
 
     Based on tcsh lexer.
 
@@ -651,6 +657,7 @@ class PanLexer(RegexLexer):
     """
 
     name = 'Pan'
+    url = 'https://github.com/quattor/pan/'
     aliases = ['pan']
     filenames = ['*.pan']
 
@@ -711,12 +718,12 @@ class PanLexer(RegexLexer):
 
 class CrmshLexer(RegexLexer):
     """
-    Lexer for `crmsh <http://crmsh.github.io/>`_ configuration files
-    for Pacemaker clusters.
+    Lexer for crmsh configuration files for Pacemaker clusters.
 
     .. versionadded:: 2.1
     """
     name = 'Crmsh'
+    url = 'http://crmsh.github.io/'
     aliases = ['crmsh', 'pcmk']
     filenames = ['*.crmsh', '*.pcmk']
     mimetypes = []
@@ -781,11 +788,12 @@ class CrmshLexer(RegexLexer):
 
 class FlatlineLexer(RegexLexer):
     """
-    Lexer for `Flatline <https://github.com/bigmlcom/flatline>`_ expressions.
+    Lexer for Flatline expressions.
 
     .. versionadded:: 2.2
     """
     name = 'Flatline'
+    url = 'https://github.com/bigmlcom/flatline'
     aliases = ['flatline']
     filenames = []
     mimetypes = ['text/x-flatline']
@@ -857,12 +865,13 @@ class FlatlineLexer(RegexLexer):
 
 class SnowballLexer(ExtendedRegexLexer):
     """
-    Lexer for `Snowball <http://snowballstem.org/>`_ source code.
+    Lexer for Snowball source code.
 
     .. versionadded:: 2.2
     """
 
     name = 'Snowball'
+    url = 'http://snowballstem.org/'
     aliases = ['snowball']
     filenames = ['*.sbl']
 
index 74f81191dceddc04e5152e4f4efb19c284db2b82..38ddfb4a9108822c87f738e0bba808622659881f 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Dylan language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,12 +19,13 @@ __all__ = ['DylanLexer', 'DylanConsoleLexer', 'DylanLidLexer']
 
 class DylanLexer(RegexLexer):
     """
-    For the `Dylan <http://www.opendylan.org/>`_ language.
+    For the Dylan language.
 
     .. versionadded:: 0.7
     """
 
     name = 'Dylan'
+    url = 'http://www.opendylan.org/'
     aliases = ['dylan']
     filenames = ['*.dylan', '*.dyl', '*.intr']
     mimetypes = ['text/x-dylan']
index 47cad2220c2a4af2d72cee135f1670ada0c16cea..7fa243a0b277bd907cb77c17f1b29a7b65f9f11a 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the ECL language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,14 +19,13 @@ __all__ = ['ECLLexer']
 
 class ECLLexer(RegexLexer):
     """
-    Lexer for the declarative big-data `ECL
-    <https://hpccsystems.com/training/documentation/ecl-language-reference/html>`_
-    language.
+    Lexer for the declarative big-data ECL language.
 
     .. versionadded:: 1.5
     """
 
     name = 'ECL'
+    url = 'https://hpccsystems.com/training/documentation/ecl-language-reference/html'
     aliases = ['ecl']
     filenames = ['*.ecl']
     mimetypes = ['application/x-ecl']
@@ -124,7 +123,7 @@ class ECLLexer(RegexLexer):
 
     def analyse_text(text):
         """This is very difficult to guess relative to other business languages.
-        -> in conjuction with BEGIN/END seems relatively rare though."""
+        -> in conjunction with BEGIN/END seems relatively rare though."""
         result = 0
 
         if '->' in text:
index 599b446306e6bbb356a66a41e6d21204c313d756..793fad882d9b99f7504ecf41c904cfead09c188a 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Eiffel language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,11 +17,12 @@ __all__ = ['EiffelLexer']
 
 class EiffelLexer(RegexLexer):
     """
-    For `Eiffel <http://www.eiffel.com>`_ source code.
+    For Eiffel source code.
 
     .. versionadded:: 2.0
     """
     name = 'Eiffel'
+    url = 'http://www.eiffel.com'
     aliases = ['eiffel']
     filenames = ['*.e']
     mimetypes = ['text/x-eiffel']
index 298dbf5986c21d5d5e95588464af0780e52a787c..c9fce501b65cb8718fa6b5ca3d60beccdb35abd5 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Elm programming language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,12 +17,13 @@ __all__ = ['ElmLexer']
 
 class ElmLexer(RegexLexer):
     """
-    For `Elm <http://elm-lang.org/>`_ source code.
+    For Elm source code.
 
     .. versionadded:: 2.1
     """
 
     name = 'Elm'
+    url = 'http://elm-lang.org/'
     aliases = ['elm']
     filenames = ['*.elm']
     mimetypes = ['text/x-elm']
index 1f8a035af5a273053855b17f0397e7775f3fd0a7..e1fc19d4198be90f7af7f012ddd95e18622af74c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -16,12 +16,13 @@ __all__ = ['ElpiLexer']
 
 class ElpiLexer(RegexLexer):
     """
-    Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.
+    Lexer for the Elpi programming language.
 
     .. versionadded::2.11
     """
 
     name = 'Elpi'
+    url = 'http://github.com/LPCIC/elpi'
     aliases = ['elpi']
     filenames = ['*.elpi']
     mimetypes = ['text/x-elpi']
@@ -32,9 +33,9 @@ class ElpiLexer(RegexLexer):
     schar2_re = r"([+*^?/<>`'@#~=&!])"
     schar_re = r"({}|-|\$|_)".format(schar2_re)
     idchar_re = r"({}|{}|{}|{})".format(lcase_re,ucase_re,digit_re,schar_re)
-    idcharstarns_re = r"({}+|(?=\.[a-z])\.{}+)".format(idchar_re,idchar_re)
+    idcharstarns_re = r"({}*(\.({}|{}){}*)*)".format(idchar_re, lcase_re, ucase_re, idchar_re)
     symbchar_re = r"({}|{}|{}|{}|:)".format(lcase_re, ucase_re, digit_re, schar_re)
-    constant_re = r"({}{}*|{}{}*|{}{}*|_{}+)".format(ucase_re, idchar_re, lcase_re, idcharstarns_re,schar2_re, symbchar_re,idchar_re)
+    constant_re = r"({}{}*|{}{}|{}{}*|_{}+)".format(ucase_re, idchar_re, lcase_re, idcharstarns_re,schar2_re, symbchar_re,idchar_re)
     symbol_re=r"(,|<=>|->|:-|;|\?-|->|&|=>|\bas\b|\buvar\b|<|=<|=|==|>=|>|\bi<|\bi=<|\bi>=|\bi>|\bis\b|\br<|\br=<|\br>=|\br>|\bs<|\bs=<|\bs>=|\bs>|@|::|\[\]|`->|`:|`:=|\^|-|\+|\bi-|\bi\+|r-|r\+|/|\*|\bdiv\b|\bi\*|\bmod\b|\br\*|~|\bi~|\br~)"
     escape_re=r"\(({}|{})\)".format(constant_re,symbol_re)
     const_sym_re = r"({}|{}|{})".format(constant_re,symbol_re,escape_re)
@@ -111,6 +112,7 @@ class ElpiLexer(RegexLexer):
         ],
         'elpi-ctype': [
             (r"(ctype\s+)(\")",bygroups(Keyword.Type,String.Double),'elpi-string'),
+            (r'->',Keyword.Type),
             (constant_re,Keyword.Type),
             (r"\(|\)",Keyword.Type),
             (r",",Text,'#pop'),
index 0c3fe5febe1d32ce042c667b4f442b195013d46c..7d9f17e5c7f474973a444429c61ed59bf9b7f577 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the raw E-mail.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 2563ffc2636190d5fc40b85d744a1cea8033d84e..6cdca9844771fd5c8d4285445490ea336c524d3c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Erlang.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -26,12 +26,11 @@ class ErlangLexer(RegexLexer):
     """
     For the Erlang functional programming language.
 
-    Blame Jeremy Thurgood (http://jerith.za.net/).
-
     .. versionadded:: 0.9
     """
 
     name = 'Erlang'
+    url = 'https://www.erlang.org/'
     aliases = ['erlang']
     filenames = ['*.erl', '*.hrl', '*.es', '*.escript']
     mimetypes = ['text/x-erlang']
@@ -223,12 +222,13 @@ def gen_elixir_sigstr_rules(term, term_class, token, interpol=True):
 
 class ElixirLexer(RegexLexer):
     """
-    For the `Elixir language <http://elixir-lang.org>`_.
+    For the Elixir language.
 
     .. versionadded:: 1.5
     """
 
     name = 'Elixir'
+    url = 'http://elixir-lang.org'
     aliases = ['elixir', 'ex', 'exs']
     filenames = ['*.ex', '*.eex', '*.exs', '*.leex']
     mimetypes = ['text/x-elixir']
index a884d4687bc357ecd3dcd5ebbca9390c422399a0..a0d1f1e268a8af741f195071ab1745a56a2f3b7c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for esoteric languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -18,11 +18,11 @@ __all__ = ['BrainfuckLexer', 'BefungeLexer', 'RedcodeLexer', 'CAmkESLexer',
 
 class BrainfuckLexer(RegexLexer):
     """
-    Lexer for the esoteric `BrainFuck <http://www.muppetlabs.com/~breadbox/bf/>`_
-    language.
+    Lexer for the esoteric BrainFuck language.
     """
 
     name = 'Brainfuck'
+    url = 'http://www.muppetlabs.com/~breadbox/bf/'
     aliases = ['brainfuck', 'bf']
     filenames = ['*.bf', '*.b']
     mimetypes = ['application/x-brainfuck']
@@ -75,12 +75,12 @@ class BrainfuckLexer(RegexLexer):
 
 class BefungeLexer(RegexLexer):
     """
-    Lexer for the esoteric `Befunge <http://en.wikipedia.org/wiki/Befunge>`_
-    language.
+    Lexer for the esoteric Befunge language.
 
     .. versionadded:: 0.7
     """
     name = 'Befunge'
+    url = 'http://en.wikipedia.org/wiki/Befunge'
     aliases = ['befunge']
     filenames = ['*.befunge']
     mimetypes = ['application/x-befunge']
@@ -105,12 +105,12 @@ class BefungeLexer(RegexLexer):
 
 class CAmkESLexer(RegexLexer):
     """
-    Basic lexer for the input language for the
-    `CAmkES <https://sel4.systems/CAmkES/>`_ component platform.
+    Basic lexer for the input language for the CAmkES component platform.
 
     .. versionadded:: 2.1
     """
     name = 'CAmkES'
+    url = 'https://sel4.systems/CAmkES/'
     aliases = ['camkes', 'idl4']
     filenames = ['*.camkes', '*.idl4']
 
@@ -173,8 +173,7 @@ class CAmkESLexer(RegexLexer):
 
 class CapDLLexer(RegexLexer):
     """
-    Basic lexer for
-    `CapDL <https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml>`_.
+    Basic lexer for CapDL.
 
     The source of the primary tool that reads such specifications is available
     at https://github.com/seL4/capdl/tree/master/capDL-tool. Note that this
@@ -186,6 +185,7 @@ class CapDLLexer(RegexLexer):
     .. versionadded:: 2.2
     """
     name = 'CapDL'
+    url = 'https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml'
     aliases = ['capdl']
     filenames = ['*.cdl']
 
@@ -269,15 +269,11 @@ class RedcodeLexer(RegexLexer):
 
 class AheuiLexer(RegexLexer):
     """
-    Aheui_ Lexer.
-
-    Aheui_ is esoteric language based on Korean alphabets.
-
-    .. _Aheui: http://aheui.github.io/
-
+    Aheui is esoteric language based on Korean alphabets.
     """
 
     name = 'Aheui'
+    url = 'http://aheui.github.io/'
     aliases = ['aheui']
     filenames = ['*.aheui']
 
index 6d282c96bb95cdcab3d7d4403efc816b822a322e..73b7c8b48938f63c753fb808f9f0f4bddc7a0755 100644 (file)
@@ -4,7 +4,7 @@
 
     Pygments lexers for Ezhil language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -18,15 +18,15 @@ __all__ = ['EzhilLexer']
 
 class EzhilLexer(RegexLexer):
     """
-    Lexer for `Ezhil, a Tamil script-based programming language <http://ezhillang.org>`_
+    Lexer for Ezhil, a Tamil script-based programming language.
 
     .. versionadded:: 2.1
     """
     name = 'Ezhil'
+    url = 'http://ezhillang.org'
     aliases = ['ezhil']
     filenames = ['*.n']
     mimetypes = ['text/x-ezhil']
-    flags = re.MULTILINE | re.UNICODE
     # Refer to tamil.utf8.tamil_letters from open-tamil for a stricter version of this.
     # This much simpler version is close enough, and includes combining marks.
     _TALETTERS = '[a-zA-Z_]|[\u0b80-\u0bff]'
@@ -58,8 +58,8 @@ class EzhilLexer(RegexLexer):
         ],
         'literal': [
             (r'".*?"', String),
-            (r'(?u)\d+((\.\d*)?[eE][+-]?\d+|\.\d*)', Number.Float),
-            (r'(?u)\d+', Number.Integer),
+            (r'\d+((\.\d*)?[eE][+-]?\d+|\.\d*)', Number.Float),
+            (r'\d+', Number.Integer),
         ]
     }
 
index 05159835d4b5f453139d5a4bbb8f8f39db0128ae..9697ac39592a30b560fe7bd5aca72898ef0db288 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Factor language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,17 +19,16 @@ __all__ = ['FactorLexer']
 
 class FactorLexer(RegexLexer):
     """
-    Lexer for the `Factor <http://factorcode.org>`_ language.
+    Lexer for the Factor language.
 
     .. versionadded:: 1.4
     """
     name = 'Factor'
+    url = 'http://factorcode.org'
     aliases = ['factor']
     filenames = ['*.factor']
     mimetypes = ['text/x-factor']
 
-    flags = re.MULTILINE | re.UNICODE
-
     builtin_kernel = words((
         '-rot', '2bi', '2bi@', '2bi*', '2curry', '2dip', '2drop', '2dup', '2keep', '2nip',
         '2over', '2tri', '2tri@', '2tri*', '3bi', '3curry', '3dip', '3drop', '3dup', '3keep',
index 7272e006bd8b764839a14076fb27c81d9f03bb08..1825b923b56bebfc55c1e8ca0156013d5006d9fe 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Fantom language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 55dee25e6dbded3606244d314afb3088afab96a7..75df8381894c27d5e59650815beecf83567d901c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Felix language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -18,12 +18,13 @@ __all__ = ['FelixLexer']
 
 class FelixLexer(RegexLexer):
     """
-    For `Felix <http://www.felix-lang.org>`_ source code.
+    For Felix source code.
 
     .. versionadded:: 1.2
     """
 
     name = 'Felix'
+    url = 'http://www.felix-lang.org'
     aliases = ['felix', 'flx']
     filenames = ['*.flx', '*.flxh']
     mimetypes = ['text/x-felix']
index e9b7da2bfc5c3d4c49fecb5bc1b3d2ff2e9e3f2d..61f687958abff135b55c0d383f2262027523ba98 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for FloScript
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,12 +17,13 @@ __all__ = ['FloScriptLexer']
 
 class FloScriptLexer(RegexLexer):
     """
-    For `FloScript <https://github.com/ioflo/ioflo>`_ configuration language source code.
+    For FloScript configuration language source code.
 
     .. versionadded:: 2.4
     """
 
     name = 'FloScript'
+    url = 'https://github.com/ioflo/ioflo'
     aliases = ['floscript', 'flo']
     filenames = ['*.flo']
 
index 1f67aa4ed5bbf7be6b71801f9991962fc44200bb..6655cda5ed86b49aceaff42595d50682a08c84c3 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Forth language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -25,6 +25,7 @@ class ForthLexer(RegexLexer):
     .. versionadded:: 2.2
     """
     name = 'Forth'
+    url = 'https://www.forth.com/forth/'
     aliases = ['forth']
     filenames = ['*.frt', '*.fs']
     mimetypes = ['application/x-forth']
index b5d977eaf0850482683937ab1d352b53f6251ac2..f80795d97d6774f477cb3a7a1b1f7c3e9e68ffd8 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Fortran languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -24,6 +24,7 @@ class FortranLexer(RegexLexer):
     .. versionadded:: 0.10
     """
     name = 'Fortran'
+    url = 'https://fortran-lang.org/'
     aliases = ['fortran', 'f90']
     filenames = ['*.f03', '*.f90', '*.F03', '*.F90']
     mimetypes = ['text/x-fortran']
index 0b756d4da30aa4d20ef8aba472ba083abf7ac554..62edef8e5c507eb6d602981c7975048d9b9918a6 100644 (file)
@@ -4,7 +4,7 @@
 
     Simple lexer for Microsoft Visual FoxPro source code.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 532f134fa8319391a05436148f897dd98be2aa67..7947b107f4176fe4ee7ca4ee6a9c3241fc1dfc4a 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for FreeFem++ language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -21,7 +21,7 @@ __all__ = ['FreeFemLexer']
 
 class FreeFemLexer(CppLexer):
     """
-    For `FreeFem++ <https://freefem.org/>`_ source.
+    For FreeFem++ source.
 
     This is an extension of the CppLexer, as the FreeFem Language is a superset
     of C++.
@@ -30,6 +30,7 @@ class FreeFemLexer(CppLexer):
     """
 
     name = 'Freefem'
+    url = 'https://freefem.org/'
     aliases = ['freefem']
     filenames = ['*.edp']
     mimetypes = ['text/x-freefem']
index e33a72e21e7dfdd271333a771881385cecb3dbab..58ba31d233ecb619673a5824a63617d2d78ee87d 100644 (file)
@@ -4,7 +4,7 @@
 
     Just export lexer classes previously contained in this module.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 57bfb94314b565ecc0cc8c3f4784b9d600c9a829..8e3d54f44952fac1ec2fe5a41304690c4b9d70a9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Futhark language
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -28,17 +28,17 @@ class FutharkLexer(RegexLexer):
     .. versionadded:: 2.8
     """
     name = 'Futhark'
+    url = 'https://futhark-lang.org/'
     aliases = ['futhark']
     filenames = ['*.fut']
     mimetypes = ['text/x-futhark']
 
-    flags = re.MULTILINE | re.UNICODE
-
     num_types = ('i8', 'i16', 'i32', 'i64', 'u8', 'u16', 'u32', 'u64', 'f32', 'f64')
 
     other_types = ('bool', )
 
-    reserved = ('if', 'then', 'else', 'let', 'loop', 'in', 'with', 'type',
+    reserved = ('if', 'then', 'else', 'def', 'let', 'loop', 'in', 'with',
+                'type', 'type~', 'type^',
                 'val', 'entry', 'for', 'while', 'do', 'case', 'match',
                 'include', 'import', 'module', 'open', 'local', 'assert', '_')
 
@@ -63,11 +63,11 @@ class FutharkLexer(RegexLexer):
 
             # Identifiers
             (r'#\[([a-zA-Z_\(\) ]*)\]', Comment.Preproc),
-            (r'!?(%s\.)*%s' % (identifier_re, identifier_re), Name),
+            (r'[#!]?(%s\.)*%s' % (identifier_re, identifier_re), Name),
 
             (r'\\', Operator),
             (r'[-+/%=!><|&*^][-+/%=!><|&*^.]*', Operator),
-            (r'[][(),:;`{}]', Punctuation),
+            (r'[][(),:;`{}?.\'~^]', Punctuation),
 
             #  Numbers
             (r'0[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*' + num_postfix,
index 03be281f5d1a75c28225c366984456ae3069b76f..2dd287555911c4663fe543238ed52dce24c206f6 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the G Code Language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 1048d1b56fcc89a6d3ead4c01a31c8476f82863b..f5054f46461c03d0f0dc3b8bf39844a6a28e6ce6 100644 (file)
@@ -7,7 +7,7 @@
     Modified by Daniel J. Ramirez <djrmuv@gmail.com> based on the original
     python.py.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -25,10 +25,11 @@ line_re = re.compile(".*?\n")
 
 class GDScriptLexer(RegexLexer):
     """
-    For `GDScript source code <https://www.godotengine.org>`_.
+    For GDScript source code.
     """
 
     name = "GDScript"
+    url = 'https://www.godotengine.org'
     aliases = ["gdscript", "gd"]
     filenames = ["*.gd"]
     mimetypes = ["text/x-gdscript", "application/x-gdscript"]
index 33a57ce8134e951fcf3019266101b30e08c3f8cb..ce214bc54448ee44b16993ce29c39ff8d4950ad9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Google Go language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,17 +19,16 @@ __all__ = ['GoLexer']
 
 class GoLexer(RegexLexer):
     """
-    For `Go <http://golang.org>`_ source.
+    For Go source.
 
     .. versionadded:: 1.2
     """
     name = 'Go'
+    url = 'https://go.dev/'
     filenames = ['*.go']
     aliases = ['go', 'golang']
     mimetypes = ['text/x-gosrc']
 
-    flags = re.MULTILINE | re.UNICODE
-
     tokens = {
         'root': [
             (r'\n', Whitespace),
index ff57c999173e03173a5665ceb9fb8ae5a8274c6c..6acc47e2dcfe29a2d448bbdd3ecbbb23a09a7a39 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for grammar notations like BNF.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -39,7 +39,7 @@ class BnfLexer(RegexLexer):
     * We don't distinguish any operators and punctuation except
       `::=`.
 
-    Though these desision making might cause too minimal highlighting
+    Though these decision making might cause too minimal highlighting
     and you might be disappointed, but it is reasonable for us.
 
     .. versionadded:: 2.1
@@ -67,15 +67,15 @@ class BnfLexer(RegexLexer):
 
 class AbnfLexer(RegexLexer):
     """
-    Lexer for `IETF 7405 ABNF
-    <http://www.ietf.org/rfc/rfc7405.txt>`_
-    (Updates `5234 <http://www.ietf.org/rfc/rfc5234.txt>`_)
-    grammars.
+    Lexer for IETF 7405 ABNF.
+
+    (Updates `5234 <http://www.ietf.org/rfc/rfc5234.txt>`_) grammars.
 
     .. versionadded:: 2.1
     """
 
     name = 'ABNF'
+    url = 'http://www.ietf.org/rfc/rfc7405.txt'
     aliases = ['abnf']
     filenames = ['*.abnf']
     mimetypes = ['text/x-abnf']
@@ -134,18 +134,16 @@ class AbnfLexer(RegexLexer):
 
 class JsgfLexer(RegexLexer):
     """
-    For `JSpeech Grammar Format <https://www.w3.org/TR/jsgf/>`_
-    grammars.
+    For JSpeech Grammar Format grammars.
 
     .. versionadded:: 2.2
     """
     name = 'JSGF'
+    url = 'https://www.w3.org/TR/jsgf/'
     aliases = ['jsgf']
     filenames = ['*.jsgf']
     mimetypes = ['application/jsgf', 'application/x-jsgf', 'text/jsgf']
 
-    flags = re.MULTILINE | re.UNICODE
-
     tokens = {
         'root': [
             include('comments'),
@@ -214,8 +212,7 @@ class JsgfLexer(RegexLexer):
 
 class PegLexer(RegexLexer):
     """
-    This lexer is for `Parsing Expression Grammars
-    <https://bford.info/pub/lang/peg.pdf>`_ (PEG).
+    This lexer is for Parsing Expression Grammars (PEG).
 
     Various implementations of PEG have made different decisions
     regarding the syntax, so let's try to be accommodating:
@@ -234,6 +231,7 @@ class PegLexer(RegexLexer):
     """
 
     name = 'PEG'
+    url = 'https://bford.info/pub/lang/peg.pdf'
     aliases = ['peg']
     filenames = ['*.peg']
     mimetypes = ['text/x-peg']
index 2af56af26beb235a198e3efeedaacd73c189481a..de10e50278a306f916ffebc081e7b0618ca5e218 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for graph query languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,14 +20,14 @@ __all__ = ['CypherLexer']
 
 class CypherLexer(RegexLexer):
     """
-    For `Cypher Query Language
-    <https://neo4j.com/docs/developer-manual/3.3/cypher/>`_
+    For Cypher Query Language
 
     For the Cypher version in Neo4j 3.3
 
     .. versionadded:: 2.0
     """
     name = 'Cypher'
+    url = 'https://neo4j.com/docs/developer-manual/3.3/cypher/'
     aliases = ['cypher']
     filenames = ['*.cyp', '*.cypher']
 
index 9f3e4a4431a7378283719309df7666132d770c0f..95e56d0c662ad1d36cb94f2d46f6bb1b5318ac31 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for computer graphics and plotting related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -306,13 +306,10 @@ class PostScriptLexer(RegexLexer):
     """
     Lexer for PostScript files.
 
-    The PostScript Language Reference published by Adobe at
-    <http://partners.adobe.com/public/developer/en/ps/PLRM.pdf>
-    is the authority for this.
-
     .. versionadded:: 1.4
     """
     name = 'PostScript'
+    url = 'https://en.wikipedia.org/wiki/PostScript'
     aliases = ['postscript', 'postscr']
     filenames = ['*.ps', '*.eps']
     mimetypes = ['application/postscript']
@@ -402,11 +399,12 @@ class PostScriptLexer(RegexLexer):
 
 class AsymptoteLexer(RegexLexer):
     """
-    For `Asymptote <http://asymptote.sf.net/>`_ source code.
+    For Asymptote source code.
 
     .. versionadded:: 1.2
     """
     name = 'Asymptote'
+    url = 'http://asymptote.sf.net/'
     aliases = ['asymptote', 'asy']
     filenames = ['*.asy']
     mimetypes = ['text/x-asymptote']
@@ -529,12 +527,13 @@ def _shortened_many(*words):
 
 class GnuplotLexer(RegexLexer):
     """
-    For `Gnuplot <http://gnuplot.info/>`_ plotting scripts.
+    For Gnuplot plotting scripts.
 
     .. versionadded:: 0.11
     """
 
     name = 'Gnuplot'
+    url = 'http://gnuplot.info/'
     aliases = ['gnuplot']
     filenames = ['*.plot', '*.plt']
     mimetypes = ['text/x-gnuplot']
@@ -688,11 +687,12 @@ class GnuplotLexer(RegexLexer):
 
 class PovrayLexer(RegexLexer):
     """
-    For `Persistence of Vision Raytracer <http://www.povray.org/>`_ files.
+    For Persistence of Vision Raytracer files.
 
     .. versionadded:: 0.11
     """
     name = 'POVRay'
+    url = 'http://www.povray.org/'
     aliases = ['pov']
     filenames = ['*.pov', '*.inc']
     mimetypes = ['text/x-povray']
@@ -766,14 +766,12 @@ class PovrayLexer(RegexLexer):
                 'quadric', 'quartic', 'smooth_triangle', 'sor', 'sphere', 'superellipsoid',
                 'text', 'torus', 'triangle', 'union'), suffix=r'\b'),
              Name.Builtin),
-            # TODO: <=, etc
-            (r'[\[\](){}<>;,]', Punctuation),
-            (r'[-+*/=]', Operator),
             (r'\b(x|y|z|u|v)\b', Name.Builtin.Pseudo),
             (r'[a-zA-Z_]\w*', Name),
-            (r'[0-9]+\.[0-9]*', Number.Float),
-            (r'\.[0-9]+', Number.Float),
+            (r'[0-9]*\.[0-9]+', Number.Float),
             (r'[0-9]+', Number.Integer),
+            (r'[\[\](){}<>;,]', Punctuation),
+            (r'[-+*/=.|&]|<=|>=|!=', Operator),
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
             (r'\s+', Whitespace),
         ]
index a6859337446688ec0ef392e50e2c7a52f0e8aef0..c68ce2d3ea662d4352e730f032c337d170596d30 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the DOT language (graphviz).
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -23,6 +23,7 @@ class GraphvizLexer(RegexLexer):
     .. versionadded:: 2.8
     """
     name = 'Graphviz'
+    url = 'https://www.graphviz.org/doc/info/lang.html'
     aliases = ['graphviz', 'dot']
     filenames = ['*.gv', '*.dot']
     mimetypes = ['text/x-graphviz', 'text/vnd.graphviz']
index 3dd3ea1a6fe85a76b89a792bc45e7a338f3e27e4..6af99b27ce040871edb2972c020afb40d527b0bb 100755 (executable)
@@ -4,7 +4,7 @@
 
     Lexers for TigerGraph GSQL graph query language
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,11 +20,12 @@ __all__ = ["GSQLLexer"]
 class GSQLLexer(RegexLexer):
 
     """
-    For `GSQL <https://docs.tigergraph.com/dev/gsql-ref>`_ queries (version 3.x).
+    For GSQL queries (version 3.x).
     .. versionadded:: 2.10
     """
 
     name = 'GSQL'
+    url = 'https://docs.tigergraph.com/dev/gsql-ref'
     aliases = ['gsql']
     filenames = ['*.gsql']
 
index 6ab0f3340e48fe2494aa524d6252acfc496db02e..c5c5ca1291696409e9107690d47e79bcfbe766e9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Haskell and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -31,12 +31,11 @@ class HaskellLexer(RegexLexer):
     .. versionadded:: 0.8
     """
     name = 'Haskell'
+    url = 'https://www.haskell.org/'
     aliases = ['haskell', 'hs']
     filenames = ['*.hs']
     mimetypes = ['text/x-haskell']
 
-    flags = re.MULTILINE | re.UNICODE
-
     reserved = ('case', 'class', 'data', 'default', 'deriving', 'do', 'else',
                 'family', 'if', 'in', 'infix[lr]?', 'instance',
                 'let', 'newtype', 'of', 'then', 'type', 'where', '_')
@@ -189,6 +188,7 @@ class IdrisLexer(RegexLexer):
     .. versionadded:: 2.0
     """
     name = 'Idris'
+    url = 'https://www.idris-lang.org/'
     aliases = ['idris', 'idr']
     filenames = ['*.idr']
     mimetypes = ['text/x-idris']
@@ -293,24 +293,25 @@ class IdrisLexer(RegexLexer):
 
 class AgdaLexer(RegexLexer):
     """
-    For the `Agda <http://wiki.portal.chalmers.se/agda/pmwiki.php>`_
-    dependently typed functional programming language and proof assistant.
+    For the Agda dependently typed functional programming language and
+    proof assistant.
 
     .. versionadded:: 2.0
     """
 
     name = 'Agda'
+    url = 'http://wiki.portal.chalmers.se/agda/pmwiki.php'
     aliases = ['agda']
     filenames = ['*.agda']
     mimetypes = ['text/x-agda']
 
-    reserved = ['abstract', 'codata', 'coinductive', 'constructor', 'data',
-                'field', 'forall', 'hiding', 'in', 'inductive', 'infix',
-                'infixl', 'infixr', 'instance', 'let', 'mutual', 'open',
-                'pattern', 'postulate', 'primitive', 'private',
-                'quote', 'quoteGoal', 'quoteTerm',
+    reserved = ['abstract', 'codata', 'coinductive', 'constructor', 'data', 'do',
+                'eta-equality', 'field', 'forall', 'hiding', 'in', 'inductive', 'infix',
+                'infixl', 'infixr', 'instance', 'interleaved', 'let', 'macro', 'mutual',
+                'no-eta-equality', 'open', 'overlap', 'pattern', 'postulate', 'primitive', 'private',
+                'quote', 'quoteTerm',
                 'record', 'renaming', 'rewrite', 'syntax', 'tactic',
-                'unquote', 'unquoteDecl', 'using', 'where', 'with']
+                'unquote', 'unquoteDecl', 'unquoteDef', 'using', 'variable', 'where', 'with']
 
     tokens = {
         'root': [
@@ -655,13 +656,13 @@ class LiterateCryptolLexer(LiterateLexer):
 
 class KokaLexer(RegexLexer):
     """
-    Lexer for the `Koka <http://koka.codeplex.com>`_
-    language.
+    Lexer for the Koka language.
 
     .. versionadded:: 1.6
     """
 
     name = 'Koka'
+    url = 'https://koka-lang.github.io/koka/doc/index.html'
     aliases = ['koka']
     filenames = ['*.kk', '*.kki']
     mimetypes = ['text/x-koka']
index ee587e99b7deaf430d5054dea23134581f6242f0..1d9c6f506cc4bbdc7d635143b31a05c78604b5f4 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Haxe and related stuff.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,12 +20,13 @@ __all__ = ['HaxeLexer', 'HxmlLexer']
 
 class HaxeLexer(ExtendedRegexLexer):
     """
-    For Haxe source code (http://haxe.org/).
+    For Haxe source code.
 
     .. versionadded:: 1.3
     """
 
     name = 'Haxe'
+    url = 'http://haxe.org/'
     aliases = ['haxe', 'hxsl', 'hx']
     filenames = ['*.hx', '*.hxsl']
     mimetypes = ['text/haxe', 'text/x-haxe', 'text/x-hx']
@@ -896,17 +897,18 @@ class HaxeLexer(ExtendedRegexLexer):
 
 class HxmlLexer(RegexLexer):
     """
-    Lexer for `haXe build <http://haxe.org/doc/compiler>`_ files.
+    Lexer for haXe build files.
 
     .. versionadded:: 1.6
     """
     name = 'Hxml'
+    url = 'https://haxe.org/manual/compiler-usage-hxml.html'
     aliases = ['haxeml', 'hxml']
     filenames = ['*.hxml']
 
     tokens = {
         'root': [
-            # Seperator
+            # Separator
             (r'(--)(next)', bygroups(Punctuation, Generic.Heading)),
             # Compiler switches with one dash
             (r'(-)(prompt|debug|v)', bygroups(Punctuation, Keyword.Keyword)),
index e96f79a475c2598e26e524c5222fe8ebcff1dbdf..c3be3a5157e0604771565348581757f5f7ebde44 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for hardware descriptor languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 041d7f6c2526a52e317ec88d8ed5ff063c913a90..58f0e8d64138127c207882370ba5d5b93303a9ed 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for hexadecimal dumps.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 2e29f453cd84008119b674c4cf0d52d5209a58f9..1c46504895e0e2d1fa84256a4ac14e48db7125f9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for HTML, XML and related markup.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -32,6 +32,7 @@ class HtmlLexer(RegexLexer):
     """
 
     name = 'HTML'
+    url = 'https://html.spec.whatwg.org/'
     aliases = ['html']
     filenames = ['*.html', '*.htm', '*.xhtml', '*.xslt']
     mimetypes = ['text/html', 'application/xhtml+xml']
@@ -42,7 +43,7 @@ class HtmlLexer(RegexLexer):
             ('[^<&]+', Text),
             (r'&\S*?;', Name.Entity),
             (r'\<\!\[CDATA\[.*?\]\]\>', Comment.Preproc),
-            (r'<!--(.|\n)*?-->', Comment.Multiline),
+            (r'<!--.*?-->', Comment.Multiline),
             (r'<\?.*?\?>', Comment.Preproc),
             ('<![^>]*>', Comment.Preproc),
             (r'(<)(\s*)(script)(\s*)',
@@ -195,7 +196,7 @@ class XmlLexer(RegexLexer):
     Generic lexer for XML (eXtensible Markup Language).
     """
 
-    flags = re.MULTILINE | re.DOTALL | re.UNICODE
+    flags = re.MULTILINE | re.DOTALL
 
     name = 'XML'
     aliases = ['xml']
@@ -208,8 +209,8 @@ class XmlLexer(RegexLexer):
         'root': [
             ('[^<&]+', Text),
             (r'&\S*?;', Name.Entity),
-            (r'\<\!\[CDATA\[.*?\]\]\>', Comment.Preproc),            
-            (r'<!--(.|\n)*?-->', Comment.Multiline),
+            (r'\<\!\[CDATA\[.*?\]\]\>', Comment.Preproc),
+            (r'<!--.*?-->', Comment.Multiline),
             (r'<\?.*?\?>', Comment.Preproc),
             ('<![^>]*>', Comment.Preproc),
             (r'<\s*[\w:.-]+', Name.Tag, 'tag'),
@@ -285,7 +286,7 @@ class HamlLexer(ExtendedRegexLexer):
     flags = re.IGNORECASE
     # Haml can include " |\n" anywhere,
     # which is ignored and used to wrap long lines.
-    # To accomodate this, use this custom faux dot instead.
+    # To accommodate this, use this custom faux dot instead.
     _dot = r'(?: \|\n(?=.* \|)|.)'
 
     # In certain places, a comma at the end of the line
index 22b8346ac3a216229f38853f4b62e201e8a4526d..d24f8cdd3395160e6836bc398392150e33255a34 100644 (file)
@@ -4,14 +4,15 @@
 
     Lexers for IDL.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 import re
 
-from pygments.lexer import RegexLexer, words
-from pygments.token import Text, Comment, Operator, Keyword, Name, Number, String
+from pygments.lexer import RegexLexer, words, bygroups
+from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
+    String, Whitespace
 
 __all__ = ['IDLLexer']
 
@@ -23,6 +24,7 @@ class IDLLexer(RegexLexer):
     .. versionadded:: 1.6
     """
     name = 'IDL'
+    url = 'https://www.l3harrisgeospatial.com/Software-Technology/IDL'
     aliases = ['idl']
     filenames = ['*.pro']
     mimetypes = ['text/idl']
@@ -248,7 +250,8 @@ class IDLLexer(RegexLexer):
 
     tokens = {
         'root': [
-            (r'^\s*;.*?\n', Comment.Single),
+            (r'(^\s*)(;.*?)(\n)', bygroups(Whitespace, Comment.Single,
+                Whitespace)),
             (words(_RESERVED, prefix=r'\b', suffix=r'\b'), Keyword),
             (words(_BUILTIN_LIB, prefix=r'\b', suffix=r'\b'), Name.Builtin),
             (r'\+=|-=|\^=|\*=|/=|#=|##=|<=|>=|=', Operator),
@@ -264,6 +267,8 @@ class IDLLexer(RegexLexer):
             (r'\b[+\-]?[0-9]+U?L{1,2}\b', Number.Integer.Long),
             (r'\b[+\-]?[0-9]+U?S?\b', Number.Integer),
             (r'\b[+\-]?[0-9]+B\b', Number),
+            (r'[ \t]+', Whitespace),
+            (r'\n', Whitespace),
             (r'.', Text),
         ]
     }
@@ -277,4 +282,4 @@ class IDLLexer(RegexLexer):
         if 'endswitch' in text:
             result += 0.01
 
-        return result
\ No newline at end of file
+        return result
index e843d081f11b2fe5773e10b9f8a69ea632ea56d9..28b6b359acdbea31d13e069a375b0ca17669a081 100644 (file)
@@ -4,14 +4,14 @@
 
     Lexers for Igor Pro.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 import re
 
 from pygments.lexer import RegexLexer, words
-from pygments.token import Text, Comment, Keyword, Name, String
+from pygments.token import Text, Comment, Keyword, Name, String, Whitespace
 
 __all__ = ['IgorLexer']
 
@@ -413,6 +413,7 @@ class IgorLexer(RegexLexer):
             # Compiler directives.
             (r'^#(include|pragma|define|undef|ifdef|ifndef|if|elif|else|endif)',
              Name.Decorator),
+            (r'\s+', Whitespace),
             (r'[^a-z"/]+$', Text),
             (r'.', Text),
         ],
index befe42ab518add979e1033016117eecff380aeee..93122b3c64b61f0a306f076f30ac9817839ea7b3 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Inferno os and all the related stuff.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -12,14 +12,14 @@ import re
 
 from pygments.lexer import RegexLexer, include, bygroups, default
 from pygments.token import Punctuation, Text, Comment, Operator, Keyword, \
-    Name, String, Number
+    Name, String, Number, Whitespace
 
 __all__ = ['LimboLexer']
 
 
 class LimboLexer(RegexLexer):
     """
-    Lexer for `Limbo programming language <http://www.vitanuova.com/inferno/limbo.html>`_
+    Lexer for Limbo programming language
 
     TODO:
         - maybe implement better var declaration highlighting
@@ -28,16 +28,17 @@ class LimboLexer(RegexLexer):
     .. versionadded:: 2.0
     """
     name = 'Limbo'
+    url = 'http://www.vitanuova.com/inferno/limbo.html'
     aliases = ['limbo']
     filenames = ['*.b']
     mimetypes = ['text/limbo']
 
     tokens = {
         'whitespace': [
-            (r'^(\s*)([a-zA-Z_]\w*:(\s*)\n)',
-             bygroups(Text, Name.Label)),
-            (r'\n', Text),
-            (r'\s+', Text),
+            (r'^(\s*)([a-zA-Z_]\w*:)(\s*\n)',
+             bygroups(Whitespace, Name.Label, Whitespace)),
+            (r'\n', Whitespace),
+            (r'\s+', Whitespace),
             (r'#(\n|(.|\n)*?[^\\]\n)', Comment.Single),
         ],
         'string': [
index 1f7b2831468b5d6f8e9df808707b290f806ff4de..e2013b21157f04e1f5ebc75c7c29b92d48254349 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for installer/packager DSLs and formats.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,11 +20,12 @@ __all__ = ['NSISLexer', 'RPMSpecLexer', 'SourcesListLexer',
 
 class NSISLexer(RegexLexer):
     """
-    For `NSIS <http://nsis.sourceforge.net/>`_ scripts.
+    For NSIS scripts.
 
     .. versionadded:: 1.6
     """
     name = 'NSIS'
+    url = 'http://nsis.sourceforge.net/'
     aliases = ['nsis', 'nsi', 'nsh']
     filenames = ['*.nsi', '*.nsh']
     mimetypes = ['text/x-nsis']
@@ -33,7 +34,7 @@ class NSISLexer(RegexLexer):
 
     tokens = {
         'root': [
-            (r'[;#].*\n', Comment),
+            (r'([;#].*)(\n)', bygroups(Comment, Whitespace)),
             (r"'.*?'", String.Single),
             (r'"', String.Double, 'str_double'),
             (r'`', String.Backtick, 'str_backtick'),
@@ -47,7 +48,7 @@ class NSISLexer(RegexLexer):
         ],
         'basic': [
             (r'(\n)(Function)(\s+)([._a-z][.\w]*)\b',
-             bygroups(Text, Keyword, Text, Name.Function)),
+             bygroups(Whitespace, Keyword, Whitespace, Name.Function)),
             (r'\b([_a-z]\w*)(::)([a-z][a-z0-9]*)\b',
              bygroups(Keyword.Namespace, Punctuation, Name.Function)),
             (r'\b([_a-z]\w*)(:)', bygroups(Name.Label, Punctuation)),
@@ -160,20 +161,20 @@ class RPMSpecLexer(RegexLexer):
 
     tokens = {
         'root': [
-            (r'#.*\n', Comment),
+            (r'#.*$', Comment),
             include('basic'),
         ],
         'description': [
             (r'^(%' + _directives + ')(.*)$',
              bygroups(Name.Decorator, Text), '#pop'),
-            (r'\n', Text),
+            (r'\s+', Whitespace),
             (r'.', Text),
         ],
         'changelog': [
-            (r'\*.*\n', Generic.Subheading),
+            (r'\*.*$', Generic.Subheading),
             (r'^(%' + _directives + ')(.*)$',
              bygroups(Name.Decorator, Text), '#pop'),
-            (r'\n', Text),
+            (r'\s+', Whitespace),
             (r'.', Text),
         ],
         'string': [
@@ -198,10 +199,11 @@ class RPMSpecLexer(RegexLexer):
             include('interpol'),
             (r"'.*?'", String.Single),
             (r'"', String.Double, 'string'),
+            (r'\s+', Whitespace),
             (r'.', Text),
         ],
         'macro': [
-            (r'%define.*\n', Comment.Preproc),
+            (r'%define.*$', Comment.Preproc),
             (r'%\{\!\?.*%define.*\}', Comment.Preproc),
             (r'(%(?:if(?:n?arch)?|else(?:if)?|endif))(.*)$',
              bygroups(Comment.Preproc, Text)),
@@ -230,10 +232,10 @@ class SourcesListLexer(RegexLexer):
 
     tokens = {
         'root': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'#.*?$', Comment),
             (r'^(deb(?:-src)?)(\s+)',
-             bygroups(Keyword, Text), 'distribution')
+             bygroups(Keyword, Whitespace), 'distribution')
         ],
         'distribution': [
             (r'#.*?$', Comment, '#pop'),
@@ -241,7 +243,7 @@ class SourcesListLexer(RegexLexer):
             (r'[^\s$[]+', String),
             (r'\[', String.Other, 'escaped-distribution'),
             (r'\$', String),
-            (r'\s+', Text, 'components')
+            (r'\s+', Whitespace, 'components')
         ],
         'escaped-distribution': [
             (r'\]', String.Other, '#pop'),
@@ -252,7 +254,7 @@ class SourcesListLexer(RegexLexer):
         'components': [
             (r'#.*?$', Comment, '#pop:2'),
             (r'$', Text, '#pop:2'),
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'\S+', Keyword.Pseudo),
         ]
     }
@@ -268,12 +270,10 @@ class DebianControlLexer(RegexLexer):
     """
     Lexer for Debian ``control`` files and ``apt-cache show <pkg>`` outputs.
 
-    Specification of `control`` files is available at
-    https://www.debian.org/doc/debian-policy/ch-controlfields.html
-
     .. versionadded:: 0.9
     """
     name = 'Debian Control file'
+    url = 'https://www.debian.org/doc/debian-policy/ch-controlfields.html'
     aliases = ['debcontrol', 'control']
     filenames = ['control']
 
index c309d19248af1bf732f4be12503625d4d148a5b2..01ad8b7cbdba6fba546c06a0a38932ec3b34b2bd 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for interactive fiction languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -21,16 +21,17 @@ __all__ = ['Inform6Lexer', 'Inform6TemplateLexer', 'Inform7Lexer',
 
 class Inform6Lexer(RegexLexer):
     """
-    For `Inform 6 <http://inform-fiction.org/>`_ source code.
+    For Inform 6 source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'Inform 6'
+    url = 'http://inform-fiction.org/'
     aliases = ['inform6', 'i6']
     filenames = ['*.inf']
 
-    flags = re.MULTILINE | re.DOTALL | re.UNICODE
+    flags = re.MULTILINE | re.DOTALL
 
     _name = r'[a-zA-Z_]\w*'
 
@@ -381,10 +382,10 @@ class Inform6Lexer(RegexLexer):
             include('_whitespace'),
             (words((
                 'additive', 'alias', 'buffer', 'class', 'creature', 'data', 'error', 'fatalerror',
-                'first', 'has', 'held', 'initial', 'initstr', 'last', 'long', 'meta', 'multi',
-                'multiexcept', 'multiheld', 'multiinside', 'noun', 'number', 'only', 'private',
-                'replace', 'reverse', 'scope', 'score', 'special', 'string', 'table', 'terminating',
-                'time', 'topic', 'warning', 'with'), suffix=r'\b'),
+                'first', 'has', 'held', 'individual', 'initial', 'initstr', 'last', 'long', 'meta',
+                'multi', 'multiexcept', 'multiheld', 'multiinside', 'noun', 'number', 'only',
+                'private', 'replace', 'reverse', 'scope', 'score', 'special', 'string', 'table',
+                'terminating', 'time', 'topic', 'warning', 'with'), suffix=r'\b'),
              Keyword, '#pop'),
             (r'static\b', Keyword),
             (r'[%s]{1,2}>|[+=]' % _dash, Punctuation, '#pop')
@@ -399,7 +400,8 @@ class Inform6Lexer(RegexLexer):
         ],
         'property-keyword*': [
             include('_whitespace'),
-            (r'(additive|long)\b', Keyword),
+            (words(('additive', 'individual', 'long'), suffix=r'\b(?!(\s*|(![^%s]*))*;)' % _newline),
+             Keyword),
             default('#pop')
         ],
         'trace-keyword?': [
@@ -527,16 +529,17 @@ class Inform6Lexer(RegexLexer):
 
 class Inform7Lexer(RegexLexer):
     """
-    For `Inform 7 <http://inform7.com/>`_ source code.
+    For Inform 7 source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'Inform 7'
+    url = 'http://inform7.com/'
     aliases = ['inform7', 'i7']
     filenames = ['*.ni', '*.i7x']
 
-    flags = re.MULTILINE | re.DOTALL | re.UNICODE
+    flags = re.MULTILINE | re.DOTALL
 
     _dash = Inform6Lexer._dash
     _dquote = Inform6Lexer._dquote
@@ -730,8 +733,7 @@ class Inform7Lexer(RegexLexer):
 
 class Inform6TemplateLexer(Inform7Lexer):
     """
-    For `Inform 6 template
-    <http://inform7.com/sources/src/i6template/Woven/index.html>`_ code.
+    For Inform 6 template code.
 
     .. versionadded:: 2.0
     """
@@ -746,7 +748,7 @@ class Inform6TemplateLexer(Inform7Lexer):
 
 class Tads3Lexer(RegexLexer):
     """
-    For `TADS 3 <http://www.tads.org/>`_ source code.
+    For TADS 3 source code.
     """
 
     name = 'TADS 3'
index c1fbe9084e47efbdabf9632a55c981339dfcf131..da247d918e76afe94cb82708eff054d3740ebee1 100644 (file)
@@ -4,35 +4,35 @@
 
     Lexers for the Io language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 from pygments.lexer import RegexLexer
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
-    Number
+    Number, Whitespace
 
 __all__ = ['IoLexer']
 
 
 class IoLexer(RegexLexer):
     """
-    For `Io <http://iolanguage.com/>`_ (a small, prototype-based
-    programming language) source.
+    For Io (a small, prototype-based programming language) source.
 
     .. versionadded:: 0.10
     """
     name = 'Io'
+    url = 'http://iolanguage.com/'
     filenames = ['*.io']
     aliases = ['io']
     mimetypes = ['text/x-iosrc']
     tokens = {
         'root': [
-            (r'\n', Text),
-            (r'\s+', Text),
+            (r'\n', Whitespace),
+            (r'\s+', Whitespace),
             # Comments
-            (r'//(.*?)\n', Comment.Single),
-            (r'#(.*?)\n', Comment.Single),
+            (r'//(.*?)$', Comment.Single),
+            (r'#(.*?)$', Comment.Single),
             (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
             (r'/\+', Comment.Multiline, 'nestedcomment'),
             # DoubleQuotedString
index 8a3ddcbdd178effa15aa9d03bb7fb01f8c39a8f2..d33207d1595dcb5ffa2c7858b10bf906bd835fb6 100644 (file)
@@ -4,25 +4,26 @@
 
     Lexer for the J programming language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
-from pygments.lexer import RegexLexer, words, include
+from pygments.lexer import RegexLexer, words, include, bygroups
 from pygments.token import Comment, Keyword, Name, Number, Operator, Punctuation, \
-    String, Text
+    String, Text, Whitespace
 
 __all__ = ['JLexer']
 
 
 class JLexer(RegexLexer):
     """
-    For `J <http://jsoftware.com/>`_ source code.
+    For J source code.
 
     .. versionadded:: 2.1
     """
 
     name = 'J'
+    url = 'http://jsoftware.com/'
     aliases = ['j']
     filenames = ['*.ijs']
     mimetypes = ['text/x-j']
@@ -36,19 +37,25 @@ class JLexer(RegexLexer):
 
             # Comments
             (r'NB\..*', Comment.Single),
-            (r'\n+\s*Note', Comment.Multiline, 'comment'),
-            (r'\s*Note.*', Comment.Single),
+            (r'(\n+\s*)(Note)', bygroups(Whitespace, Comment.Multiline),
+                'comment'),
+            (r'(\s*)(Note.*)', bygroups(Whitespace, Comment.Single)),
 
             # Whitespace
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
 
             # Strings
             (r"'", String, 'singlequote'),
 
             # Definitions
-            (r'0\s+:\s*0|noun\s+define\s*$', Name.Entity, 'nounDefinition'),
-            (r'(([1-4]|13)\s+:\s*0|(adverb|conjunction|dyad|monad|verb)\s+define)\b',
-             Name.Function, 'explicitDefinition'),
+            (r'0\s+:\s*0', Name.Entity, 'nounDefinition'),
+            (r'(noun)(\s+)(define)(\s*)$', bygroups(Name.Entity, Whitespace,
+                Name.Entity, Whitespace), 'nounDefinition'),
+            (r'([1-4]|13)\s+:\s*0\b',
+                Name.Function, 'explicitDefinition'),
+            (r'(adverb|conjunction|dyad|monad|verb)(\s+)(define)\b',
+                bygroups(Name.Function, Whitespace, Name.Function),
+                'explicitDefinition'),
 
             # Flow Control
             (words(('for_', 'goto_', 'label_'), suffix=validName+r'\.'), Name.Label),
@@ -125,7 +132,7 @@ class JLexer(RegexLexer):
         ],
 
         'nounDefinition': [
-            (r'[^)]', String),
+            (r'[^)]+', String),
             (r'^\)', Name.Label, '#pop'),
             (r'[)]', String),
         ],
@@ -138,7 +145,7 @@ class JLexer(RegexLexer):
         ],
 
         'singlequote': [
-            (r"[^']", String),
+            (r"[^']+", String),
             (r"''", String),
             (r"'", String, '#pop'),
         ],
index 7ddd1148e6fb5193cf3cb042dd3ad132ec1eca8e..1896fb46f6a2fda2378f4b1bf4639ab430733209 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for JavaScript and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -13,7 +13,7 @@ import re
 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, Generic
+    Number, Punctuation, Other, Generic, Whitespace
 from pygments.util import get_bool_opt
 import pygments.unistring as uni
 
@@ -37,18 +37,19 @@ class JavascriptLexer(RegexLexer):
     """
 
     name = 'JavaScript'
+    url = 'https://www.ecma-international.org/publications-and-standards/standards/ecma-262/'
     aliases = ['javascript', 'js']
     filenames = ['*.js', '*.jsm', '*.mjs', '*.cjs']
     mimetypes = ['application/javascript', 'application/x-javascript',
                  'text/x-javascript', 'text/javascript']
 
-    flags = re.DOTALL | re.UNICODE | re.MULTILINE
+    flags = re.DOTALL | re.MULTILINE
 
     tokens = {
         'commentsandwhitespace': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'<!--', Comment),
-            (r'//.*?\n', Comment.Single),
+            (r'//.*?$', Comment.Single),
             (r'/\*.*?\*/', Comment.Multiline)
         ],
         'slashstartsregex': [
@@ -59,10 +60,10 @@ class JavascriptLexer(RegexLexer):
             default('#pop')
         ],
         'badregex': [
-            (r'\n', Text, '#pop')
+            (r'\n', Whitespace, '#pop')
         ],
         'root': [
-            (r'\A#! ?/.*?\n', Comment.Hashbang),  # recognized by node.js
+            (r'\A#! ?/.*?$', Comment.Hashbang),  # recognized by node.js
             (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
             include('commentsandwhitespace'),
 
@@ -110,7 +111,7 @@ class JavascriptLexer(RegexLexer):
 
             # Match stuff like: super(argument, list)
             (r'(super)(\s*)(\([\w,?.$\s]+\s*\))',
-             bygroups(Keyword, Text), 'slashstartsregex'),
+             bygroups(Keyword, Whitespace), 'slashstartsregex'),
             # Match stuff like: function() {...}
             (r'([a-zA-Z_?.$][\w?.$]*)(?=\(\) \{)', Name.Other, 'slashstartsregex'),
 
@@ -136,12 +137,13 @@ class JavascriptLexer(RegexLexer):
 
 class TypeScriptLexer(JavascriptLexer):
     """
-    For `TypeScript <http://typescriptlang.org/>`_ source code.
+    For TypeScript source code.
 
     .. versionadded:: 1.6
     """
 
     name = 'TypeScript'
+    url = 'https://www.typescriptlang.org/'
     aliases = ['typescript', 'ts']
     filenames = ['*.ts']
     mimetypes = ['application/x-typescript', 'text/x-typescript']
@@ -159,11 +161,11 @@ class TypeScriptLexer(JavascriptLexer):
             # 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'),
+            (r'\b(module)(\s*)([\w?.$]+)(\s*)',
+             bygroups(Keyword.Reserved, Whitespace, Name.Other, Whitespace), 'slashstartsregex'),
             # Match stuff like: (function: return type)
-            (r'([\w?.$][\w?.$]*)(\s*:\s*)([\w?.$][\w?.$]*)',
-             bygroups(Name.Other, Text, Keyword.Type)),
+            (r'([\w?.$]+)(\s*)(:)(\s*)([\w?.$]+)',
+             bygroups(Name.Other, Whitespace, Operator, Whitespace, Keyword.Type)),
             # Match stuff like: Decorators
             (r'@' + JS_IDENT, Keyword.Declaration),
             inherit,
@@ -173,15 +175,13 @@ class TypeScriptLexer(JavascriptLexer):
 
 class KalLexer(RegexLexer):
     """
-    For `Kal`_ source code.
-
-    .. _Kal: http://rzimmerman.github.io/kal
-
+    For Kal source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'Kal'
+    url = 'http://rzimmerman.github.io/kal'
     aliases = ['kal']
     filenames = ['*.kal']
     mimetypes = ['text/kal', 'application/kal']
@@ -189,18 +189,20 @@ class KalLexer(RegexLexer):
     flags = re.DOTALL
     tokens = {
         'commentsandwhitespace': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'###[^#].*?###', Comment.Multiline),
-            (r'#(?!##[^#]).*?\n', Comment.Single),
+            (r'(#(?!##[^#]).*?)(\n)', bygroups(Comment.Single, Whitespace)),
         ],
         'functiondef': [
-            (r'[$a-zA-Z_][\w$]*\s*', Name.Function, '#pop'),
+            (r'([$a-zA-Z_][\w$]*)(\s*)', bygroups(Name.Function, Whitespace),
+                '#pop'),
             include('commentsandwhitespace'),
         ],
         'classdef': [
-            (r'\binherits\s+from\b', Keyword),
-            (r'[$a-zA-Z_][\w$]*\s*\n', Name.Class, '#pop'),
-            (r'[$a-zA-Z_][\w$]*\s*', Name.Class),
+            (r'\b(inherits)(\s+)(from)\b',
+                bygroups(Keyword, Whitespace, Keyword)),
+            (r'([$a-zA-Z_][\w$]*)(?=\s*\n)', Name.Class, '#pop'),
+            (r'[$a-zA-Z_][\w$]*\b', Name.Class),
             include('commentsandwhitespace'),
         ],
         'listcomprehension': [
@@ -209,7 +211,7 @@ class KalLexer(RegexLexer):
             include('root'),
         ],
         'waitfor': [
-            (r'\n', Punctuation, '#pop'),
+            (r'\n', Whitespace, '#pop'),
             (r'\bfrom\b', Keyword),
             include('root'),
         ],
@@ -221,29 +223,48 @@ class KalLexer(RegexLexer):
              Operator),
             (r'\b(and|or|isnt|is|not|but|bitwise|mod|\^|xor|exists|'
              r'doesnt\s+exist)\b', Operator.Word),
-            (r'(?:\([^()]+\))?\s*>', Name.Function),
+            (r'(\([^()]+\))?(\s*)(>)',
+                bygroups(Name.Function, Whitespace, Punctuation)),
             (r'[{(]', Punctuation),
             (r'\[', Punctuation, 'listcomprehension'),
             (r'[})\].,]', Punctuation),
             (r'\b(function|method|task)\b', Keyword.Declaration, 'functiondef'),
             (r'\bclass\b', Keyword.Declaration, 'classdef'),
-            (r'\b(safe\s+)?wait\s+for\b', Keyword, 'waitfor'),
+            (r'\b(safe(?=\s))?(\s*)(wait(?=\s))(\s+)(for)\b',
+                bygroups(Keyword, Whitespace, Keyword, Whitespace,
+                    Keyword), 'waitfor'),
             (r'\b(me|this)(\.[$a-zA-Z_][\w.$]*)?\b', Name.Variable.Instance),
-            (r'(?<![.$])(for(\s+(parallel|series))?|in|of|while|until|'
-             r'break|return|continue|'
-             r'when|if|unless|else|otherwise|except\s+when|'
-             r'throw|raise|fail\s+with|try|catch|finally|new|delete|'
-             r'typeof|instanceof|super|run\s+in\s+parallel|'
-             r'inherits\s+from)\b', Keyword),
-            (r'(?<![.$])(true|false|yes|no|on|off|null|nothing|none|'
-             r'NaN|Infinity|undefined)\b',
-             Keyword.Constant),
-            (r'(Array|Boolean|Date|Error|Function|Math|'
-             r'Number|Object|RegExp|String|decodeURI|'
-             r'decodeURIComponent|encodeURI|encodeURIComponent|'
-             r'eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|document|'
-             r'window|globalThis|Symbol|print)\b', Name.Builtin),
-            (r'[$a-zA-Z_][\w.$]*\s*(:|[+\-*/]?\=)?\b', Name.Variable),
+            (r'(?<![.$])(run)(\s+)(in)(\s+)(parallel)\b',
+                bygroups(Keyword, Whitespace, Keyword, Whitespace, Keyword)),
+            (r'(?<![.$])(for)(\s+)(parallel|series)?\b',
+                bygroups(Keyword, Whitespace, Keyword)),
+            (r'(?<![.$])(except)(\s+)(when)?\b',
+                bygroups(Keyword, Whitespace, Keyword)),
+            (r'(?<![.$])(fail)(\s+)(with)?\b',
+                bygroups(Keyword, Whitespace, Keyword)),
+            (r'(?<![.$])(inherits)(\s+)(from)?\b',
+                bygroups(Keyword, Whitespace, Keyword)),
+            (r'(?<![.$])(for)(\s+)(parallel|series)?\b',
+                bygroups(Keyword, Whitespace, Keyword)),
+            (words((
+                'in', 'of', 'while', 'until', 'break', 'return', 'continue',
+                'when', 'if', 'unless', 'else', 'otherwise', 'throw', 'raise',
+                'try', 'catch', 'finally', 'new', 'delete', 'typeof',
+                'instanceof', 'super'), prefix=r'(?<![.$])', suffix=r'\b'),
+                Keyword),
+            (words((
+                'true', 'false', 'yes', 'no', 'on', 'off', 'null', 'nothing',
+                'none', 'NaN', 'Infinity', 'undefined'), prefix=r'(?<![.$])',
+                suffix=r'\b'), Keyword.Constant),
+            (words((
+                'Array', 'Boolean', 'Date', 'Error', 'Function', 'Math',
+                'Number', 'Object', 'RegExp', 'String', 'decodeURI',
+                'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'eval',
+                'isFinite', 'isNaN', 'isSafeInteger', 'parseFloat', 'parseInt',
+                'document', 'window', 'globalThis', 'Symbol', 'print'),
+                suffix=r'\b'), Name.Builtin),
+            (r'([$a-zA-Z_][\w.$]*)(\s*)(:|[+\-*/]?\=)?\b',
+                bygroups(Name.Variable, Whitespace, Operator)),
             (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
             (r'0x[0-9a-fA-F]+', Number.Hex),
             (r'[0-9]+', Number.Integer),
@@ -288,14 +309,13 @@ class KalLexer(RegexLexer):
 
 class LiveScriptLexer(RegexLexer):
     """
-    For `LiveScript`_ source code.
-
-    .. _LiveScript: https://livescript.net/
+    For LiveScript source code.
 
     .. versionadded:: 1.6
     """
 
     name = 'LiveScript'
+    url = 'https://livescript.net/'
     aliases = ['livescript', 'live-script']
     filenames = ['*.ls']
     mimetypes = ['text/livescript']
@@ -303,9 +323,9 @@ class LiveScriptLexer(RegexLexer):
     flags = re.DOTALL
     tokens = {
         'commentsandwhitespace': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'/\*.*?\*/', Comment.Multiline),
-            (r'#.*?\n', Comment.Single),
+            (r'(#.*?)(\n)', bygroups(Comment.Single, Whitespace)),
         ],
         'multilineregex': [
             include('commentsandwhitespace'),
@@ -346,10 +366,13 @@ class LiveScriptLexer(RegexLexer):
              r'decodeURIComponent|encodeURI|encodeURIComponent|'
              r'eval|isFinite|isNaN|parseFloat|parseInt|document|window|'
              r'globalThis|Symbol|Symbol|BigInt)\b', Name.Builtin),
-            (r'[$a-zA-Z_][\w.\-:$]*\s*[:=]\s', Name.Variable,
-             'slashstartsregex'),
-            (r'@[$a-zA-Z_][\w.\-:$]*\s*[:=]\s', Name.Variable.Instance,
-             'slashstartsregex'),
+            (r'([$a-zA-Z_][\w.\-:$]*)(\s*)([:=])(\s+)',
+                bygroups(Name.Variable, Whitespace, Operator, Whitespace),
+                'slashstartsregex'),
+            (r'(@[$a-zA-Z_][\w.\-:$]*)(\s*)([:=])(\s+)',
+                bygroups(Name.Variable.Instance, Whitespace, Operator,
+                    Whitespace),
+                'slashstartsregex'),
             (r'@', Name.Other, 'slashstartsregex'),
             (r'@?[$a-zA-Z_][\w-]*', Name.Other, 'slashstartsregex'),
             (r'[0-9]+\.[0-9]+([eE][0-9]+)?[fd]?(?:[a-zA-Z_]+)?', Number.Float),
@@ -399,12 +422,13 @@ class LiveScriptLexer(RegexLexer):
 
 class DartLexer(RegexLexer):
     """
-    For `Dart <http://dart.dev/>`_ source code.
+    For Dart source code.
 
     .. versionadded:: 1.5
     """
 
     name = 'Dart'
+    url = 'http://dart.dev/'
     aliases = ['dart']
     filenames = ['*.dart']
     mimetypes = ['text/x-dart']
@@ -417,11 +441,11 @@ class DartLexer(RegexLexer):
             (r'#!(.*?)$', Comment.Preproc),
             (r'\b(import|export)\b', Keyword, 'import_decl'),
             (r'\b(library|source|part of|part)\b', Keyword),
-            (r'[^\S\n]+', Text),
-            (r'//.*?\n', Comment.Single),
+            (r'[^\S\n]+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*.*?\*/', Comment.Multiline),
             (r'\b(class|extension|mixin)\b(\s+)',
-             bygroups(Keyword.Declaration, Text), 'class'),
+             bygroups(Keyword.Declaration, Whitespace), 'class'),
             (r'\b(as|assert|break|case|catch|const|continue|default|do|else|finally|'
              r'for|if|in|is|new|rethrow|return|super|switch|this|throw|try|while)\b',
              Keyword),
@@ -440,7 +464,7 @@ class DartLexer(RegexLexer):
             # DIGIT+ (‘.’ DIGIT*)? EXPONENT?
             (r'\d+(\.\d*)?([eE][+-]?\d+)?', Number),
             (r'\.\d+([eE][+-]?\d+)?', Number),  # ‘.’ DIGIT+ EXPONENT?
-            (r'\n', Text)
+            (r'\n', Whitespace)
             # pseudo-keyword negate intentionally left out
         ],
         'class': [
@@ -448,7 +472,7 @@ class DartLexer(RegexLexer):
         ],
         'import_decl': [
             include('string_literal'),
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'\b(as|deferred|show|hide)\b', Keyword),
             (r'[a-zA-Z_$]\w*', Name),
             (r'\,', Punctuation),
@@ -502,7 +526,7 @@ class DartLexer(RegexLexer):
 
 class LassoLexer(RegexLexer):
     """
-    For `Lasso <http://www.lassosoft.com/>`_ source code, covering both Lasso 9
+    For Lasso source code, covering both Lasso 9
     syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in
     HTML, use the `LassoHtmlLexer`.
 
@@ -529,7 +553,7 @@ class LassoLexer(RegexLexer):
         'root': [
             (r'^#![ \S]+lasso9\b', Comment.Preproc, 'lasso'),
             (r'(?=\[|<)', Other, 'delimiters'),
-            (r'\s+', Other),
+            (r'\s+', Whitespace),
             default(('delimiters', 'lassofile')),
         ],
         'delimiters': [
@@ -565,8 +589,8 @@ class LassoLexer(RegexLexer):
             include('lasso'),
         ],
         'whitespacecomments': [
-            (r'\s+', Text),
-            (r'//.*?\n', Comment.Single),
+            (r'\s+', Whitespace),
+            (r'(//.*?)(\s*)$', bygroups(Comment.Single, Whitespace)),
             (r'/\*\*!.*?\*/', String.Doc),
             (r'/\*.*?\*/', Comment.Multiline),
         ],
@@ -586,18 +610,20 @@ class LassoLexer(RegexLexer):
             # names
             (r'\$[a-z_][\w.]*', Name.Variable),
             (r'#([a-z_][\w.]*|\d+\b)', Name.Variable.Instance),
-            (r"(\.\s*)('[a-z_][\w.]*')",
-                bygroups(Name.Builtin.Pseudo, Name.Variable.Class)),
-            (r"(self)(\s*->\s*)('[a-z_][\w.]*')",
-                bygroups(Name.Builtin.Pseudo, Operator, Name.Variable.Class)),
-            (r'(\.\.?\s*)([a-z_][\w.]*(=(?!=))?)',
-                bygroups(Name.Builtin.Pseudo, Name.Other.Member)),
-            (r'(->\\?\s*|&\s*)([a-z_][\w.]*(=(?!=))?)',
-                bygroups(Operator, Name.Other.Member)),
+            (r"(\.)(\s*)('[a-z_][\w.]*')",
+                bygroups(Name.Builtin.Pseudo, Whitespace, Name.Variable.Class)),
+            (r"(self)(\s*)(->)(\s*)('[a-z_][\w.]*')",
+                bygroups(Name.Builtin.Pseudo, Whitespace, Operator, Whitespace,
+                    Name.Variable.Class)),
+            (r'(\.\.?)(\s*)([a-z_][\w.]*(=(?!=))?)',
+                bygroups(Name.Builtin.Pseudo, Whitespace, Name.Other.Member)),
+            (r'(->\\?|&)(\s*)([a-z_][\w.]*(=(?!=))?)',
+                bygroups(Operator, Whitespace, Name.Other.Member)),
             (r'(?<!->)(self|inherited|currentcapture|givenblock)\b',
                 Name.Builtin.Pseudo),
             (r'-(?!infinity)[a-z_][\w.]*', Name.Attribute),
-            (r'::\s*[a-z_][\w.]*', Name.Label),
+            (r'(::)(\s*)([a-z_][\w.]*)',
+                bygroups(Punctuation, Whitespace, Name.Label)),
             (r'(error_(code|msg)_\w+|Error_AddError|Error_ColumnRestriction|'
              r'Error_DatabaseConnectionUnavailable|Error_DatabaseTimeout|'
              r'Error_DeleteError|Error_FieldRestriction|Error_FileNotFound|'
@@ -609,18 +635,20 @@ class LassoLexer(RegexLexer):
              r'Error_UpdateError)\b', Name.Exception),
 
             # definitions
-            (r'(define)(\s+)([a-z_][\w.]*)(\s*=>\s*)(type|trait|thread)\b',
-                bygroups(Keyword.Declaration, Text, Name.Class, Operator, Keyword)),
-            (r'(define)(\s+)([a-z_][\w.]*)(\s*->\s*)([a-z_][\w.]*=?|[-+*/%])',
-                bygroups(Keyword.Declaration, Text, Name.Class, Operator,
-                         Name.Function), 'signature'),
+            (r'(define)(\s+)([a-z_][\w.]*)(\s*)(=>)(\s*)(type|trait|thread)\b',
+                bygroups(Keyword.Declaration, Whitespace, Name.Class,
+                    Whitespace, Operator, Whitespace, Keyword)),
+            (r'(define)(\s+)([a-z_][\w.]*)(\s*)(->)(\s*)([a-z_][\w.]*=?|[-+*/%])',
+                bygroups(Keyword.Declaration, Whitespace, Name.Class,
+                    Whitespace, Operator, Whitespace, Name.Function),
+                'signature'),
             (r'(define)(\s+)([a-z_][\w.]*)',
-                bygroups(Keyword.Declaration, Text, Name.Function), 'signature'),
+                bygroups(Keyword.Declaration, Whitespace, Name.Function), 'signature'),
             (r'(public|protected|private|provide)(\s+)(([a-z_][\w.]*=?|[-+*/%])'
-             r'(?=\s*\())', bygroups(Keyword, Text, Name.Function),
+             r'(?=\s*\())', bygroups(Keyword, Whitespace, Name.Function),
                 'signature'),
             (r'(public|protected|private|provide)(\s+)([a-z_][\w.]*)',
-                bygroups(Keyword, Text, Name.Function)),
+                bygroups(Keyword, Whitespace, Name.Function)),
 
             # keywords
             (r'(true|false|none|minimal|full|all|void)\b', Keyword.Constant),
@@ -628,8 +656,8 @@ class LassoLexer(RegexLexer):
             (r'(array|date|decimal|duration|integer|map|pair|string|tag|xml|'
              r'null|boolean|bytes|keyword|list|locale|queue|set|stack|'
              r'staticarray)\b', Keyword.Type),
-            (r'([a-z_][\w.]*)(\s+)(in)\b', bygroups(Name, Text, Keyword)),
-            (r'(let|into)(\s+)([a-z_][\w.]*)', bygroups(Keyword, Text, Name)),
+            (r'([a-z_][\w.]*)(\s+)(in)\b', bygroups(Name, Whitespace, Keyword)),
+            (r'(let|into)(\s+)([a-z_][\w.]*)', bygroups(Keyword, Whitespace, Name)),
             (r'require\b', Keyword, 'requiresection'),
             (r'(/?)(Namespace_Using)\b', bygroups(Punctuation, Keyword.Namespace)),
             (r'(/?)(Cache|Database_Names|Database_SchemaNames|'
@@ -655,8 +683,9 @@ class LassoLexer(RegexLexer):
             # other
             (r',', Punctuation, 'commamember'),
             (r'(and|or|not)\b', Operator.Word),
-            (r'([a-z_][\w.]*)(\s*::\s*[a-z_][\w.]*)?(\s*=(?!=))',
-                bygroups(Name, Name.Label, Operator)),
+            (r'([a-z_][\w.]*)(\s*)(::)(\s*)([a-z_][\w.]*)?(\s*=(?!=))',
+                bygroups(Name, Whitespace, Punctuation, Whitespace, Name.Label,
+                    Operator)),
             (r'(/?)([\w.]+)', bygroups(Punctuation, Name.Other)),
             (r'(=)(n?bw|n?ew|n?cn|lte?|gte?|n?eq|n?rx|ft)\b',
                 bygroups(Operator, Operator.Word)),
@@ -695,7 +724,8 @@ class LassoLexer(RegexLexer):
             (r'(([a-z_][\w.]*=?|[-+*/%])(?=\s*\())', Name, 'requiresignature'),
             (r'(([a-z_][\w.]*=?|[-+*/%])(?=(\s*::\s*[\w.]+)?\s*,))', Name),
             (r'[a-z_][\w.]*=?|[-+*/%]', Name, '#pop'),
-            (r'::\s*[a-z_][\w.]*', Name.Label),
+            (r'(::)(\s*)([a-z_][\w.]*)',
+                bygroups(Punctuation, Whitespace, Name.Label)),
             (r',', Punctuation),
             include('whitespacecomments'),
         ],
@@ -703,7 +733,8 @@ class LassoLexer(RegexLexer):
             (r'(\)(?=(\s*::\s*[\w.]+)?\s*,))', Punctuation, '#pop'),
             (r'\)', Punctuation, '#pop:2'),
             (r'-?[a-z_][\w.]*', Name.Attribute),
-            (r'::\s*[a-z_][\w.]*', Name.Label),
+            (r'(::)(\s*)([a-z_][\w.]*)',
+                bygroups(Punctuation, Whitespace, Name.Label)),
             (r'\.\.\.', Name.Builtin.Pseudo),
             (r'[(,]', Punctuation),
             include('whitespacecomments'),
@@ -784,11 +815,11 @@ class ObjectiveJLexer(RegexLexer):
                       using(this))),
 
             # class definition
-            (r'(@interface|@implementation)(\s+)', bygroups(Keyword, Text),
+            (r'(@interface|@implementation)(\s+)', bygroups(Keyword, Whitespace),
              'classname'),
-            (r'(@class|@protocol)(\s*)', bygroups(Keyword, Text),
+            (r'(@class|@protocol)(\s*)', bygroups(Keyword, Whitespace),
              'forward_classname'),
-            (r'(\s*)(@end)(\s*)', bygroups(Text, Keyword, Text)),
+            (r'(\s*)(@end)(\s*)', bygroups(Whitespace, Keyword, Whitespace)),
 
             include('statements'),
             ('[{()}]', Punctuation),
@@ -796,20 +827,20 @@ class ObjectiveJLexer(RegexLexer):
         ],
         'whitespace': [
             (r'(@import)(\s+)("(?:\\\\|\\"|[^"])*")',
-             bygroups(Comment.Preproc, Text, String.Double)),
+             bygroups(Comment.Preproc, Whitespace, String.Double)),
             (r'(@import)(\s+)(<(?:\\\\|\\>|[^>])*>)',
-             bygroups(Comment.Preproc, Text, String.Double)),
+             bygroups(Comment.Preproc, Whitespace, String.Double)),
             (r'(#(?:include|import))(\s+)("(?:\\\\|\\"|[^"])*")',
-             bygroups(Comment.Preproc, Text, String.Double)),
+             bygroups(Comment.Preproc, Whitespace, String.Double)),
             (r'(#(?:include|import))(\s+)(<(?:\\\\|\\>|[^>])*>)',
-             bygroups(Comment.Preproc, Text, String.Double)),
+             bygroups(Comment.Preproc, Whitespace, String.Double)),
 
             (r'#if\s+0', Comment.Preproc, 'if0'),
             (r'#', Comment.Preproc, 'macro'),
 
-            (r'\n', Text),
-            (r'\s+', Text),
-            (r'\\\n', Text),  # line continuation
+            (r'\s+', Whitespace),
+            (r'(\\)(\n)',
+                bygroups(String.Escape, Whitespace)),  # line continuation
             (r'//(\n|(.|\n)*?[^\\]\n)', Comment.Single),
             (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
             (r'<!--', Comment),
@@ -822,7 +853,7 @@ class ObjectiveJLexer(RegexLexer):
             default('#pop'),
         ],
         'badregex': [
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'statements': [
             (r'(L|@)?"', String, 'string'),
@@ -889,10 +920,10 @@ class ObjectiveJLexer(RegexLexer):
             (r'([a-zA-Z_]\w*)', Name.Class, '#pop'),
         ],
         'forward_classname': [
-            (r'([a-zA-Z_]\w*)(\s*,\s*)',
-             bygroups(Name.Class, Text), '#push'),
-            (r'([a-zA-Z_]\w*)(\s*;?)',
-             bygroups(Name.Class, Text), '#pop'),
+            (r'([a-zA-Z_]\w*)(\s*)(,)(\s*)',
+             bygroups(Name.Class, Whitespace, Text, Whitespace), '#push'),
+            (r'([a-zA-Z_]\w*)(\s*)(;?)',
+             bygroups(Name.Class, Whitespace, Text), '#pop'),
         ],
         'function_signature': [
             include('whitespace'),
@@ -955,21 +986,21 @@ class ObjectiveJLexer(RegexLexer):
             (r'"', String, '#pop'),
             (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape),
             (r'[^\\"\n]+', String),  # all other characters
-            (r'\\\n', String),  # line continuation
+            (r'(\\)(\n)', bygroups(String.Escape, Whitespace)),  # line continuation
             (r'\\', String),  # stray backslash
         ],
         'macro': [
             (r'[^/\n]+', Comment.Preproc),
             (r'/[*](.|\n)*?[*]/', Comment.Multiline),
-            (r'//.*?\n', Comment.Single, '#pop'),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace), '#pop'),
             (r'/', Comment.Preproc),
-            (r'(?<=\\)\n', Comment.Preproc),
-            (r'\n', Comment.Preproc, '#pop'),
+            (r'(?<=\\)\n', Whitespace),
+            (r'\n', Whitespace, '#pop'),
         ],
         'if0': [
             (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'),
             (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'),
-            (r'.*?\n', Comment),
+            (r'(.*?)(\n)', bygroups(Comment, Whitespace)),
         ]
     }
 
@@ -982,14 +1013,13 @@ class ObjectiveJLexer(RegexLexer):
 
 class CoffeeScriptLexer(RegexLexer):
     """
-    For `CoffeeScript`_ source code.
-
-    .. _CoffeeScript: http://coffeescript.org
+    For CoffeeScript source code.
 
     .. versionadded:: 1.3
     """
 
     name = 'CoffeeScript'
+    url = 'http://coffeescript.org'
     aliases = ['coffeescript', 'coffee-script', 'coffee']
     filenames = ['*.coffee']
     mimetypes = ['text/coffeescript']
@@ -1002,9 +1032,9 @@ class CoffeeScriptLexer(RegexLexer):
     flags = re.DOTALL
     tokens = {
         'commentsandwhitespace': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'###[^#].*?###', Comment.Multiline),
-            (r'#(?!##[^#]).*?\n', Comment.Single),
+            (r'(#(?!##[^#]).*?)(\n)', bygroups(Comment.Single, Whitespace)),
         ],
         'multilineregex': [
             (r'[^/#]+', String.Regex),
@@ -1043,10 +1073,12 @@ class CoffeeScriptLexer(RegexLexer):
              r'decodeURIComponent|encodeURI|encodeURIComponent|'
              r'eval|isFinite|isNaN|parseFloat|parseInt|document|window|globalThis|Symbol)\b',
              Name.Builtin),
-            (r'[$a-zA-Z_][\w.:$]*\s*[:=]\s', Name.Variable,
-             'slashstartsregex'),
-            (r'@[$a-zA-Z_][\w.:$]*\s*[:=]\s', Name.Variable.Instance,
-             'slashstartsregex'),
+            (r'([$a-zA-Z_][\w.:$]*)(\s*)([:=])(\s+)',
+                bygroups(Name.Variable, Whitespace, Operator, Whitespace),
+                'slashstartsregex'),
+            (r'(@[$a-zA-Z_][\w.:$]*)(\s*)([:=])(\s+)',
+                bygroups(Name.Variable.Instance, Whitespace, Operator, Whitespace),
+                'slashstartsregex'),
             (r'@', Name.Other, 'slashstartsregex'),
             (r'@?[$a-zA-Z_][\w$]*', Name.Other),
             (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
@@ -1095,11 +1127,12 @@ class CoffeeScriptLexer(RegexLexer):
 
 class MaskLexer(RegexLexer):
     """
-    For `Mask <https://github.com/atmajs/MaskJS>`__ markup.
+    For Mask markup.
 
     .. versionadded:: 2.0
     """
     name = 'Mask'
+    url = 'https://github.com/atmajs/MaskJS'
     aliases = ['mask']
     filenames = ['*.mask']
     mimetypes = ['text/x-mask']
@@ -1107,8 +1140,8 @@ class MaskLexer(RegexLexer):
     flags = re.MULTILINE | re.IGNORECASE | re.DOTALL
     tokens = {
         'root': [
-            (r'\s+', Text),
-            (r'//.*?\n', Comment.Single),
+            (r'\s+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*.*?\*/', Comment.Multiline),
             (r'[{};>]', Punctuation),
             (r"'''", String, 'string-trpl-single'),
@@ -1143,19 +1176,23 @@ class MaskLexer(RegexLexer):
         ],
         'interpolation': [
             (r'\]', String.Interpol, '#pop'),
-            (r'\s*:', String.Interpol, 'expression'),
-            (r'\s*\w+:', Name.Other),
+            (r'(\s*)(:)', bygroups(Whitespace, String.Interpol), 'expression'),
+            (r'(\s*)(\w+)(:)', bygroups(Whitespace, Name.Other, Punctuation)),
             (r'[^\]]+', String.Interpol)
         ],
         'expression': [
             (r'[^\]]+', using(JavascriptLexer), '#pop')
         ],
         'node': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'\.', Name.Variable.Class, 'node-class'),
             (r'\#', Name.Function, 'node-id'),
-            (r'style[ \t]*=', Name.Attribute, 'node-attr-style-value'),
-            (r'[\w:-]+[ \t]*=', Name.Attribute, 'node-attr-value'),
+            (r'(style)([ \t]*)(=)',
+                bygroups(Name.Attribute, Whitespace, Operator),
+                'node-attr-style-value'),
+            (r'([\w:-]+)([ \t]*)(=)',
+                bygroups(Name.Attribute, Whitespace, Operator),
+                'node-attr-value'),
             (r'[\w:-]+', Name.Attribute),
             (r'[>{;]', Punctuation, '#pop')
         ],
@@ -1170,20 +1207,20 @@ class MaskLexer(RegexLexer):
             default('#pop')
         ],
         'node-attr-value': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'\w+', Name.Variable, '#pop'),
             (r"'", String, 'string-single-pop2'),
             (r'"', String, 'string-double-pop2'),
             default('#pop')
         ],
         'node-attr-style-value': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r"'", String.Single, 'css-single-end'),
             (r'"', String.Single, 'css-double-end'),
             include('node-attr-value')
         ],
         'css-base': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r";", Punctuation),
             (r"[\w\-]+\s*:", Name.Builtin)
         ],
@@ -1210,9 +1247,7 @@ class MaskLexer(RegexLexer):
 
 class EarlGreyLexer(RegexLexer):
     """
-    For `Earl-Grey`_ source code.
-
-    .. _Earl-Grey: https://breuleux.github.io/earl-grey/
+    For Earl-Grey source code.
 
     .. versionadded: 2.1
     """
@@ -1224,12 +1259,12 @@ class EarlGreyLexer(RegexLexer):
 
     tokens = {
         'root': [
-            (r'\n', Text),
+            (r'\n', Whitespace),
             include('control'),
             (r'[^\S\n]+', Text),
-            (r';;.*\n', Comment),
+            (r'(;;.*)(\n)', bygroups(Comment, Whitespace)),
             (r'[\[\]{}:(),;]', Punctuation),
-            (r'\\\n', Text),
+            (r'(\\)(\n)', bygroups(String.Escape, Whitespace)),
             (r'\\', Text),
             include('errors'),
             (words((
@@ -1268,7 +1303,7 @@ class EarlGreyLexer(RegexLexer):
              bygroups(Punctuation, Name.Class.DBS)),
             (r'(\[)([\^#][a-zA-Z$_](?:[\w$\-]*[\w$])?)(\])',
              bygroups(Punctuation, Name.Entity.DBS, Punctuation)),
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'%', Operator.DBS, '#pop'),
         ],
         'import_paths': [
@@ -1298,8 +1333,8 @@ class EarlGreyLexer(RegexLexer):
                 (?!and|as|each\*|each|in|is|mod|of|or|when|where|with)
                 (?=(?:[+\-*/~^<>%&|?!@#.])?[a-zA-Z$_](?:[\w$-]*[\w$])?)''',
              Keyword.Control),
-            (r'([a-zA-Z$_](?:[\w$-]*[\w$])?)(?!\n)\s+(?=[\'"\d{\[(])',
-             Keyword.Control),
+            (r'([a-zA-Z$_](?:[\w$-]*[\w$])?)(?!\n)(\s+)(?=[\'"\d{\[(])',
+             bygroups(Keyword.Control, Whitespace)),
             (r'''(?x)
                 (?:
                     (?<=[%=])|
@@ -1308,11 +1343,11 @@ class EarlGreyLexer(RegexLexer):
                     (?<=each\*|where)
                 )(\s+)
                 ([a-zA-Z$_](?:[\w$-]*[\w$])?)(:)''',
-             bygroups(Text, Keyword.Control, Punctuation)),
+             bygroups(Whitespace, Keyword.Control, Punctuation)),
             (r'''(?x)
                 (?<![+\-*/~^<>%&|?!@#.])(\s+)
                 ([a-zA-Z$_](?:[\w$-]*[\w$])?)(:)''',
-             bygroups(Text, Keyword.Control, Punctuation)),
+             bygroups(Whitespace, Keyword.Control, Punctuation)),
         ],
         'nested': [
             (r'''(?x)
@@ -1426,25 +1461,24 @@ class EarlGreyLexer(RegexLexer):
 
 class JuttleLexer(RegexLexer):
     """
-    For `Juttle`_ source code.
-
-    .. _Juttle: https://github.com/juttle/juttle
+    For Juttle source code.
 
     .. versionadded:: 2.2
     """
 
     name = 'Juttle'
+    url = 'http://juttle.github.io/'
     aliases = ['juttle']
     filenames = ['*.juttle']
     mimetypes = ['application/juttle', 'application/x-juttle',
                  'text/x-juttle', 'text/juttle']
 
-    flags = re.DOTALL | re.UNICODE | re.MULTILINE
+    flags = re.DOTALL | re.MULTILINE
 
     tokens = {
         'commentsandwhitespace': [
-            (r'\s+', Text),
-            (r'//.*?\n', Comment.Single),
+            (r'\s+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*.*?\*/', Comment.Multiline)
         ],
         'slashstartsregex': [
@@ -1525,8 +1559,9 @@ class NodeConsoleLexer(Lexer):
         for match in line_re.finditer(text):
             line = match.group()
             if line.startswith('> '):
-                insertions.append((len(curcode), 
-                    [(0, Generic.Prompt, line[:2])]))
+                insertions.append((len(curcode),
+                    [(0, Generic.Prompt, line[:1]),
+                     (1, Whitespace, line[1:2])]))
 
                 curcode += line[2:]
             elif line.startswith('...'):
@@ -1534,21 +1569,21 @@ class NodeConsoleLexer(Lexer):
                 code = line.lstrip('.')
                 lead = len(line) - len(code)
 
-                insertions.append((len(curcode), 
+                insertions.append((len(curcode),
                     [(0, Generic.Prompt, line[:lead])]))
 
                 curcode += code
             else:
                 if curcode:
-                    yield from do_insertions(insertions, 
+                    yield from do_insertions(insertions,
                         jslexer.get_tokens_unprocessed(curcode))
 
                     curcode = ''
                     insertions = []
 
-                yield from do_insertions([], 
+                yield from do_insertions([],
                     jslexer.get_tokens_unprocessed(line))
 
         if curcode:
-            yield from do_insertions(insertions, 
+            yield from do_insertions(insertions,
                 jslexer.get_tokens_unprocessed(curcode))
index f4f14a685b2b4716f296050caa608ba954996acf..b6554e5d36cc8e01330bbfaf037f8ee8416345f7 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the JSLT language
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -21,11 +21,12 @@ _WORD_END = r'(?=[^0-9A-Z_a-z-])'
 
 class JSLTLexer(RegexLexer):
     """
-    For `JSLT <https://github.com/schibsted/jslt>`_ source.
+    For JSLT source.
 
     .. versionadded:: 2.10
     """
     name = 'JSLT'
+    url = 'https://github.com/schibsted/jslt'
     filenames = ['*.jslt']
     aliases = ['jslt']
     mimetypes = ['text/x-jslt']
index 390d5d7158704027c9b5480e0dbf01671c282034..97d9163af0d5f61898aebd320845189cce564f46 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Julia language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -13,7 +13,7 @@ import re
 from pygments.lexer import Lexer, RegexLexer, bygroups, do_insertions, \
     words, include
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
-    Number, Punctuation, Generic
+    Number, Punctuation, Generic, Whitespace
 from pygments.util import shebang_matches
 from pygments.lexers._julia_builtins import OPERATORS_LIST, DOTTED_OPERATORS_LIST, \
     KEYWORD_LIST, BUILTIN_LIST, LITERAL_LIST
@@ -28,22 +28,21 @@ operator_suffixes = r'[²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹ
 
 class JuliaLexer(RegexLexer):
     """
-    For `Julia <http://julialang.org/>`_ source code.
+    For Julia source code.
 
     .. versionadded:: 1.6
     """
 
     name = 'Julia'
+    url = 'https://julialang.org/'
     aliases = ['julia', 'jl']
     filenames = ['*.jl']
     mimetypes = ['text/x-julia', 'application/x-julia']
 
-    flags = re.MULTILINE | re.UNICODE
-
     tokens = {
         'root': [
-            (r'\n', Text),
-            (r'[^\S\n]+', Text),
+            (r'\n', Whitespace),
+            (r'[^\S\n]+', Whitespace),
             (r'#=', Comment.Multiline, "blockcomment"),
             (r'#.*$', Comment),
             (r'[\[\](),;]', Punctuation),
@@ -51,23 +50,23 @@ class JuliaLexer(RegexLexer):
             # symbols
             #   intercept range expressions first
             (r'(' + allowed_variable + r')(\s*)(:)(' + allowed_variable + ')',
-                bygroups(Name, Text, Operator, Name)),
+                bygroups(Name, Whitespace, Operator, Name)),
             #   then match :name which does not follow closing brackets, digits, or the
             #   ::, <:, and :> operators
             (r'(?<![\]):<>\d.])(:' + allowed_variable + ')', String.Symbol),
 
             # type assertions - excludes expressions like ::typeof(sin) and ::avec[1]
-            (r'(?<=::)(\s*)(' + allowed_variable + r')\b(?![(\[])', bygroups(Text, Keyword.Type)),
+            (r'(?<=::)(\s*)(' + allowed_variable + r')\b(?![(\[])', bygroups(Whitespace, Keyword.Type)),
             # type comparisons
             # - MyType <: A or MyType >: A
             ('(' + allowed_variable + r')(\s*)([<>]:)(\s*)(' + allowed_variable + r')\b(?![(\[])',
-                bygroups(Keyword.Type, Text, Operator, Text, Keyword.Type)),
+                bygroups(Keyword.Type, Whitespace, Operator, Whitespace, Keyword.Type)),
             # - <: B or >: B
             (r'([<>]:)(\s*)(' + allowed_variable + r')\b(?![(\[])',
-                bygroups(Operator, Text, Keyword.Type)),
+                bygroups(Operator, Whitespace, Keyword.Type)),
             # - A <: or A >:
             (r'\b(' + allowed_variable + r')(\s*)([<>]:)',
-                bygroups(Keyword.Type, Text, Operator)),
+                bygroups(Keyword.Type, Whitespace, Operator)),
 
             # operators
             # Suffixes aren't actually allowed on all operators, but we'll ignore that
@@ -110,12 +109,16 @@ class JuliaLexer(RegexLexer):
                 bygroups(Keyword.Type, Punctuation), 'curly'),
             # - names as part of bare 'where'
             (r'(where)(\s+)(' + allowed_variable + ')',
-                bygroups(Keyword, Text, Keyword.Type)),
+                bygroups(Keyword, Whitespace, Keyword.Type)),
             # - curly expressions in general
             (r'(\{)', Punctuation, 'curly'),
             # - names as part of type declaration
-            (r'(abstract[ \t]+type|primitive[ \t]+type|mutable[ \t]+struct|struct)([\s()]+)(' +
-                allowed_variable + r')', bygroups(Keyword, Text, Keyword.Type)),
+            (r'(abstract|primitive)([ \t]+)(type\b)([\s()]+)(' +
+                allowed_variable + r')',
+                bygroups(Keyword, Whitespace, Keyword, Text, Keyword.Type)),
+            (r'(mutable(?=[ \t]))?([ \t]+)?(struct\b)([\s()]+)(' +
+                allowed_variable + r')',
+                bygroups(Keyword, Whitespace, Keyword, Text, Keyword.Type)),
 
             # macros
             (r'@' + allowed_variable, Name.Decorator),
@@ -261,7 +264,7 @@ class JuliaConsoleLexer(Lexer):
                 output = False
                 error = False
             elif line.startswith('      ') and not output:
-                insertions.append((len(curcode), [(0, Text, line[:6])]))
+                insertions.append((len(curcode), [(0, Whitespace, line[:6])]))
                 curcode += line[6:]
             else:
                 if curcode:
index 4ffc5c7fdf7eb006e8cc3b979bc662a3a4b4c607..d053e3732e47e26eb026219906902d603daf0429 100644 (file)
@@ -4,7 +4,7 @@
 
     Pygments lexers for JVM languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -13,7 +13,7 @@ import re
 from pygments.lexer import Lexer, RegexLexer, include, bygroups, using, \
     this, combined, default, words
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
-    Number, Punctuation
+    Number, Punctuation, Whitespace
 from pygments.util import shebang_matches
 from pygments import unistring as uni
 
@@ -25,22 +25,23 @@ __all__ = ['JavaLexer', 'ScalaLexer', 'GosuLexer', 'GosuTemplateLexer',
 
 class JavaLexer(RegexLexer):
     """
-    For `Java <https://www.oracle.com/technetwork/java/>`_ source code.
+    For Java source code.
     """
 
     name = 'Java'
+    url = 'https://www.oracle.com/technetwork/java/'
     aliases = ['java']
     filenames = ['*.java']
     mimetypes = ['text/x-java']
 
-    flags = re.MULTILINE | re.DOTALL | re.UNICODE
+    flags = re.MULTILINE | re.DOTALL
 
     tokens = {
         'root': [
             (r'(^\s*)((?:(?:public|private|protected|static|strictfp)(?:\s+))*)(record)\b',
-             bygroups(Text, using(this), Keyword.Declaration), 'class'),
-            (r'[^\S\n]+', Text),
-            (r'//.*?\n', Comment.Single),
+             bygroups(Whitespace, using(this), Keyword.Declaration), 'class'),
+            (r'[^\S\n]+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*.*?\*/', Comment.Multiline),
             # keywords: go before method names to avoid lexing "throw new XYZ"
             # as a method signature
@@ -51,26 +52,25 @@ class JavaLexer(RegexLexer):
             (r'((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)'  # return arguments
              r'((?:[^\W\d]|\$)[\w$]*)'                  # method name
              r'(\s*)(\()',                              # signature start
-             bygroups(using(this), Name.Function, Text, Punctuation)),
+             bygroups(using(this), Name.Function, Whitespace, Punctuation)),
             (r'@[^\W\d][\w.]*', Name.Decorator),
             (r'(abstract|const|enum|extends|final|implements|native|private|'
              r'protected|public|sealed|static|strictfp|super|synchronized|throws|'
              r'transient|volatile|yield)\b', Keyword.Declaration),
             (r'(boolean|byte|char|double|float|int|long|short|void)\b',
              Keyword.Type),
-            (r'(package)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
+            (r'(package)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'import'),
             (r'(true|false|null)\b', Keyword.Constant),
             (r'(class|interface)\b', Keyword.Declaration, 'class'),
-            (r'(var)(\s+)', bygroups(Keyword.Declaration, Text),
-             'var'),
-            (r'(import(?:\s+static)?)(\s+)', bygroups(Keyword.Namespace, Text),
+            (r'(var)(\s+)', bygroups(Keyword.Declaration, Whitespace), 'var'),
+            (r'(import(?:\s+static)?)(\s+)', bygroups(Keyword.Namespace, Whitespace),
              'import'),
             (r'"', String, 'string'),
             (r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char),
             (r'(\.)((?:[^\W\d]|\$)[\w$]*)', bygroups(Punctuation,
                                                      Name.Attribute)),
-            (r'^(\s*)(default)(:)', bygroups(Text, Keyword, Punctuation)),
-            (r'^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)', bygroups(Text, Name.Label,
+            (r'^(\s*)(default)(:)', bygroups(Whitespace, Keyword, Punctuation)),
+            (r'^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)', bygroups(Whitespace, Name.Label,
                                                           Punctuation)),
             (r'([^\W\d]|\$)[\w$]*', Name),
             (r'([0-9][0-9_]*\.([0-9][0-9_]*)?|'
@@ -87,7 +87,7 @@ class JavaLexer(RegexLexer):
             (r'0|[1-9][0-9_]*[lL]?', Number.Integer),
             (r'[~^*!%&\[\]<>|+=/?-]', Operator),
             (r'[{}();:.,]', Punctuation),
-            (r'\n', Text)
+            (r'\n', Whitespace)
         ],
         'class': [
             (r'\s+', Text),
@@ -111,12 +111,13 @@ class JavaLexer(RegexLexer):
 
 class AspectJLexer(JavaLexer):
     """
-    For `AspectJ <http://www.eclipse.org/aspectj/>`_ source code.
+    For AspectJ source code.
 
     .. versionadded:: 1.6
     """
 
     name = 'AspectJ'
+    url = 'http://www.eclipse.org/aspectj/'
     aliases = ['aspectj']
     filenames = ['*.aj']
     mimetypes = ['text/x-aspectj']
@@ -150,10 +151,11 @@ class AspectJLexer(JavaLexer):
 
 class ScalaLexer(RegexLexer):
     """
-    For `Scala <http://www.scala-lang.org>`_ source code.
+    For Scala source code.
     """
 
     name = 'Scala'
+    url = 'http://www.scala-lang.org'
     aliases = ['scala']
     filenames = ['*.scala']
     mimetypes = ['text/x-scala']
@@ -221,7 +223,7 @@ class ScalaLexer(RegexLexer):
 
         # Includes:
         'whitespace': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
         ],
         'comments': [
             (r'//.*?\n', Comment.Single),
@@ -231,12 +233,12 @@ class ScalaLexer(RegexLexer):
             (r'^#!([^\n]*)$', Comment.Hashbang),
         ],
         'imports': [
-            (r'\b(import)(\s+)', bygroups(Keyword, Text), 'import-path'),
+            (r'\b(import)(\s+)', bygroups(Keyword, Whitespace), 'import-path'),
         ],
         'exports': [
             (r'\b(export)(\s+)(given)(\s+)',
-                bygroups(Keyword, Text, Keyword, Text), 'export-path'),
-            (r'\b(export)(\s+)', bygroups(Keyword, Text), 'export-path'),
+                bygroups(Keyword, Whitespace, Keyword, Whitespace), 'export-path'),
+            (r'\b(export)(\s+)', bygroups(Keyword, Whitespace), 'export-path'),
         ],
         'storage-modifiers': [
             (words(storage_modifiers, prefix=r'\b', suffix=r'\b'), Keyword),
@@ -253,56 +255,56 @@ class ScalaLexer(RegexLexer):
         'using': [
             # using is a soft keyword, can only be used in the first position of
             # a parameter or argument list.
-            (r'(\()(\s*)(using)(\s)', bygroups(Punctuation, Text, Keyword, Text)),
+            (r'(\()(\s*)(using)(\s)', bygroups(Punctuation, Whitespace, Keyword, Whitespace)),
         ],
         'declarations': [
             (r'\b(def)\b(\s*)%s(%s)?' % (notStartOfComment, anyId),
-             bygroups(Keyword, Text, Name.Function)),
+             bygroups(Keyword, Whitespace, Name.Function)),
             (r'\b(trait)\b(\s*)%s(%s)?' % (notStartOfComment, anyId),
-                bygroups(Keyword, Text, Name.Class)),
+                bygroups(Keyword, Whitespace, Name.Class)),
             (r'\b(?:(case)(\s+))?(class|object|enum)\b(\s*)%s(%s)?' %
                 (notStartOfComment, anyId),
-                bygroups(Keyword, Text, Keyword, Text, Name.Class)),
+                bygroups(Keyword, Whitespace, Keyword, Whitespace, Name.Class)),
             (r'(?<!\.)\b(type)\b(\s*)%s(%s)?' % (notStartOfComment, anyId),
-                bygroups(Keyword, Text, Name.Class)),
+                bygroups(Keyword, Whitespace, Name.Class)),
             (r'\b(val|var)\b', Keyword.Declaration),
             (r'\b(package)(\s+)(object)\b(\s*)%s(%s)?' %
                 (notStartOfComment, anyId),
-                bygroups(Keyword, Text, Keyword, Text, Name.Namespace)),
-            (r'\b(package)(\s+)', bygroups(Keyword, Text), 'package'),
+                bygroups(Keyword, Whitespace, Keyword, Whitespace, Name.Namespace)),
+            (r'\b(package)(\s+)', bygroups(Keyword, Whitespace), 'package'),
             (r'\b(given)\b(\s*)(%s)' % idUpper,
-                bygroups(Keyword, Text, Name.Class)),
+                bygroups(Keyword, Whitespace, Name.Class)),
             (r'\b(given)\b(\s*)(%s)?' % anyId, 
-                bygroups(Keyword, Text, Name)),
+                bygroups(Keyword, Whitespace, Name)),
         ],
         'inheritance': [
             (r'\b(extends|with|derives)\b(\s*)'
              r'(%s|%s|(?=\([^\)]+=>)|(?=%s)|(?="))?' %
                 (idUpper, backQuotedId, plainid),
-                bygroups(Keyword, Text, Name.Class)),
+                bygroups(Keyword, Whitespace, Name.Class)),
         ],
         'extension': [
-            (r'\b(extension)(\s+)(?=[\[\(])', bygroups(Keyword, Text)),
+            (r'\b(extension)(\s+)(?=[\[\(])', bygroups(Keyword, Whitespace)),
         ],
         'end': [
             # end is a soft keyword, should only be highlighted in certain cases
             (r'\b(end)(\s+)(if|while|for|match|new|extension|val|var)\b',
-                bygroups(Keyword, Text, Keyword)),
+                bygroups(Keyword, Whitespace, Keyword)),
             (r'\b(end)(\s+)(%s)%s' % (idUpper, endOfLineMaybeWithComment),
-                bygroups(Keyword, Text, Name.Class)),
+                bygroups(Keyword, Whitespace, Name.Class)),
             (r'\b(end)(\s+)(%s|%s)?%s' %
                 (backQuotedId, plainid, endOfLineMaybeWithComment),
-                bygroups(Keyword, Text, Name.Namespace)),
+                bygroups(Keyword, Whitespace, Name.Namespace)),
         ],
         'punctuation': [
             (r'[{}()\[\];,.]', Punctuation),
-            (r'(?<!:):(?!:)', Punctuation),  
+            (r'(?<!:):(?!:)', Punctuation),
         ],
         'keywords': [
             (words(keywords, prefix=r'\b', suffix=r'\b'), Keyword),
         ],
         'operators': [
-            (r'(%s{2,})(\s+)' % opchar, bygroups(Operator, Text)),
+            (r'(%s{2,})(\s+)' % opchar, bygroups(Operator, Whitespace)),
             (r'/(?![/*])', Operator),
             (words(operators), Operator),
             (r'(?<!%s)(!|&&|\|\|)(?!%s)' % (opchar, opchar), Operator),
@@ -334,7 +336,7 @@ class ScalaLexer(RegexLexer):
             (r'(\.)(type)\b', bygroups(Punctuation, Keyword)),
         ],
         'inline': [
-            # inline is a soft modifer, only highlighted if followed by if, 
+            # inline is a soft modifier, only highlighted if followed by if,
             # match or parameters.
             (r'\b(inline)(?=\s+(%s|%s)\s*:)' % (plainid, backQuotedId),
                 Keyword),
@@ -422,7 +424,7 @@ class ScalaLexer(RegexLexer):
             (r'(%s)(\.)' % anyId, bygroups(Name.Namespace, Punctuation)),
             (r'\.', Punctuation),
             (anyId, Name),
-            (r'[^\S\n]+', Text),
+            (r'[^\S\n]+', Whitespace),
         ],
         'interpolated-string-common': [
             (r'[^"$\\]+', String),
@@ -455,8 +457,8 @@ class GosuLexer(RegexLexer):
             (r'^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)'  # modifiers etc.
              r'([a-zA-Z_]\w*)'                       # method name
              r'(\s*)(\()',                           # signature start
-             bygroups(using(this), Name.Function, Text, Operator)),
-            (r'[^\S\n]+', Text),
+             bygroups(using(this), Name.Function, Whitespace, Operator)),
+            (r'[^\S\n]+', Whitespace),
             (r'//.*?\n', Comment.Single),
             (r'/\*.*?\*/', Comment.Multiline),
             (r'@[a-zA-Z_][\w.]*', Name.Decorator),
@@ -467,15 +469,15 @@ class GosuLexer(RegexLexer):
             (r'(var|delegate|construct|function|private|internal|protected|'
              r'public|abstract|override|final|static|extends|transient|'
              r'implements|represents|readonly)\b', Keyword.Declaration),
-            (r'(property\s+)(get|set)?', Keyword.Declaration),
+            (r'(property)(\s+)(get|set)?', bygroups(Keyword.Declaration, Whitespace, Keyword.Declaration)),
             (r'(boolean|byte|char|double|float|int|long|short|void|block)\b',
              Keyword.Type),
-            (r'(package)(\s+)', bygroups(Keyword.Namespace, Text)),
+            (r'(package)(\s+)', bygroups(Keyword.Namespace, Whitespace)),
             (r'(true|false|null|NaN|Infinity)\b', Keyword.Constant),
             (r'(class|interface|enhancement|enum)(\s+)([a-zA-Z_]\w*)',
-             bygroups(Keyword.Declaration, Text, Name.Class)),
+             bygroups(Keyword.Declaration, Whitespace, Name.Class)),
             (r'(uses)(\s+)([\w.]+\*?)',
-             bygroups(Keyword.Namespace, Text, Name.Namespace)),
+             bygroups(Keyword.Namespace, Whitespace, Name.Namespace)),
             (r'"', String, 'string'),
             (r'(\??[.#])([a-zA-Z_]\w*)',
              bygroups(Operator, Name.Attribute)),
@@ -485,7 +487,7 @@ class GosuLexer(RegexLexer):
             (r'and|or|not|[\\~^*!%&\[\](){}<>|+=:;,./?-]', Operator),
             (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
             (r'[0-9]+', Number.Integer),
-            (r'\n', Text)
+            (r'\n', Whitespace)
         ],
         'templateText': [
             (r'(\\<)|(\\\$)', String),
@@ -534,12 +536,13 @@ class GosuTemplateLexer(Lexer):
 
 class GroovyLexer(RegexLexer):
     """
-    For `Groovy <http://groovy.codehaus.org/>`_ source code.
+    For Groovy source code.
 
     .. versionadded:: 1.5
     """
 
     name = 'Groovy'
+    url = 'https://groovy-lang.org/'
     aliases = ['groovy']
     filenames = ['*.groovy','*.gradle']
     mimetypes = ['text/x-groovy']
@@ -553,8 +556,8 @@ class GroovyLexer(RegexLexer):
             default('base'),
         ],
         'base': [
-            (r'[^\S\n]+', Text),
-            (r'//.*?\n', Comment.Single),
+            (r'[^\S\n]+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*.*?\*/', Comment.Multiline),
             # keywords: go before method names to avoid lexing "throw new XYZ"
             # as a method signature
@@ -569,18 +572,18 @@ class GroovyLexer(RegexLexer):
              r"|'(?:\\\\|\\[^\\]|[^'\\])*'"         # or single-quoted method name
              r')'
              r'(\s*)(\()',                          # signature start
-             bygroups(using(this), Name.Function, Text, Operator)),
+             bygroups(using(this), Name.Function, Whitespace, Operator)),
             (r'@[a-zA-Z_][\w.]*', Name.Decorator),
             (r'(abstract|const|enum|extends|final|implements|native|private|'
              r'protected|public|static|strictfp|super|synchronized|throws|'
              r'transient|volatile)\b', Keyword.Declaration),
             (r'(def|boolean|byte|char|double|float|int|long|short|void)\b',
              Keyword.Type),
-            (r'(package)(\s+)', bygroups(Keyword.Namespace, Text)),
+            (r'(package)(\s+)', bygroups(Keyword.Namespace, Whitespace)),
             (r'(true|false|null)\b', Keyword.Constant),
-            (r'(class|interface)(\s+)', bygroups(Keyword.Declaration, Text),
+            (r'(class|interface)(\s+)', bygroups(Keyword.Declaration, Whitespace),
              'class'),
-            (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
+            (r'(import)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'import'),
             (r'""".*?"""', String.Double),
             (r"'''.*?'''", String.Single),
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
@@ -595,7 +598,7 @@ class GroovyLexer(RegexLexer):
             (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
             (r'0x[0-9a-fA-F]+', Number.Hex),
             (r'[0-9]+L?', Number.Integer),
-            (r'\n', Text)
+            (r'\n', Whitespace)
         ],
         'class': [
             (r'[a-zA-Z_]\w*', Name.Class, '#pop')
@@ -611,12 +614,13 @@ class GroovyLexer(RegexLexer):
 
 class IokeLexer(RegexLexer):
     """
-    For `Ioke <http://ioke.org/>`_ (a strongly typed, dynamic,
+    For Ioke (a strongly typed, dynamic,
     prototype based programming language) source.
 
     .. versionadded:: 1.4
     """
     name = 'Ioke'
+    url = 'https://ioke.org/'
     filenames = ['*.ik']
     aliases = ['ioke', 'ik']
     mimetypes = ['text/x-iokesrc']
@@ -665,8 +669,8 @@ class IokeLexer(RegexLexer):
         ],
 
         'root': [
-            (r'\n', Text),
-            (r'\s+', Text),
+            (r'\n', Whitespace),
+            (r'\s+', Whitespace),
 
             # Comments
             (r';(.*?)\n', Comment),
@@ -684,7 +688,7 @@ class IokeLexer(RegexLexer):
             # Documentation
             (r'((?<=fn\()|(?<=fnx\()|(?<=method\()|(?<=macro\()|(?<=lecro\()'
              r'|(?<=syntax\()|(?<=dmacro\()|(?<=dlecro\()|(?<=dlecrox\()'
-             r'|(?<=dsyntax\())\s*"', String.Doc, 'documentation'),
+             r'|(?<=dsyntax\())(\s*)"', String.Doc, 'documentation'),
 
             # Text
             (r'"', String, 'text'),
@@ -802,13 +806,14 @@ class IokeLexer(RegexLexer):
 
 class ClojureLexer(RegexLexer):
     """
-    Lexer for `Clojure <http://clojure.org/>`_ source code.
+    Lexer for Clojure source code.
 
     .. versionadded:: 0.11
     """
     name = 'Clojure'
+    url = 'http://clojure.org/'
     aliases = ['clojure', 'clj']
-    filenames = ['*.clj']
+    filenames = ['*.clj', '*.cljc']
     mimetypes = ['text/x-clojure', 'application/x-clojure']
 
     special_forms = (
@@ -889,10 +894,12 @@ class ClojureLexer(RegexLexer):
             (r';.*$', Comment.Single),
 
             # whitespaces - usually not relevant
-            (r'[,\s]+', Text),
+            (r',+', Text),
+            (r'\s+', Whitespace),
 
             # numbers
             (r'-?\d+\.\d+', Number.Float),
+            (r'-?\d+/\d+', Number),
             (r'-?\d+', Number.Integer),
             (r'0x-?[abcdef\d]+', Number.Hex),
 
@@ -940,12 +947,12 @@ class ClojureLexer(RegexLexer):
 
 class ClojureScriptLexer(ClojureLexer):
     """
-    Lexer for `ClojureScript <http://clojure.org/clojurescript>`_
-    source code.
+    Lexer for ClojureScript source code.
 
     .. versionadded:: 2.0
     """
     name = 'ClojureScript'
+    url = 'http://clojure.org/clojurescript'
     aliases = ['clojurescript', 'cljs']
     filenames = ['*.cljs']
     mimetypes = ['text/x-clojurescript', 'application/x-clojurescript']
@@ -953,7 +960,7 @@ class ClojureScriptLexer(ClojureLexer):
 
 class TeaLangLexer(RegexLexer):
     """
-    For `Tea <http://teatrove.org/>`_ source code. Only used within a
+    For Tea source code. Only used within a
     TeaTemplateLexer.
 
     .. versionadded:: 1.5
@@ -967,17 +974,17 @@ class TeaLangLexer(RegexLexer):
             (r'^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)'  # return arguments
              r'([a-zA-Z_]\w*)'                       # method name
              r'(\s*)(\()',                           # signature start
-             bygroups(using(this), Name.Function, Text, Operator)),
-            (r'[^\S\n]+', Text),
-            (r'//.*?\n', Comment.Single),
+             bygroups(using(this), Name.Function, Whitespace, Operator)),
+            (r'[^\S\n]+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*.*?\*/', Comment.Multiline),
             (r'@[a-zA-Z_][\w\.]*', Name.Decorator),
             (r'(and|break|else|foreach|if|in|not|or|reverse)\b',
              Keyword),
             (r'(as|call|define)\b', Keyword.Declaration),
             (r'(true|false|null)\b', Keyword.Constant),
-            (r'(template)(\s+)', bygroups(Keyword.Declaration, Text), 'template'),
-            (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
+            (r'(template)(\s+)', bygroups(Keyword.Declaration, Whitespace), 'template'),
+            (r'(import)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'import'),
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
             (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
             (r'(\.)([a-zA-Z_]\w*)', bygroups(Operator, Name.Attribute)),
@@ -987,7 +994,7 @@ class TeaLangLexer(RegexLexer):
             (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
             (r'0x[0-9a-fA-F]+', Number.Hex),
             (r'[0-9]+L?', Number.Integer),
-            (r'\n', Text)
+            (r'\n', Whitespace)
         ],
         'template': [
             (r'[a-zA-Z_]\w*', Name.Class, '#pop')
@@ -1000,12 +1007,13 @@ class TeaLangLexer(RegexLexer):
 
 class CeylonLexer(RegexLexer):
     """
-    For `Ceylon <http://ceylon-lang.org/>`_ source code.
+    For Ceylon source code.
 
     .. versionadded:: 1.6
     """
 
     name = 'Ceylon'
+    url = 'http://ceylon-lang.org/'
     aliases = ['ceylon']
     filenames = ['*.ceylon']
     mimetypes = ['text/x-ceylon']
@@ -1021,9 +1029,9 @@ class CeylonLexer(RegexLexer):
             (r'^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)'  # return arguments
              r'([a-zA-Z_]\w*)'                      # method name
              r'(\s*)(\()',                          # signature start
-             bygroups(using(this), Name.Function, Text, Operator)),
-            (r'[^\S\n]+', Text),
-            (r'//.*?\n', Comment.Single),
+             bygroups(using(this), Name.Function, Whitespace, Operator)),
+            (r'[^\S\n]+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*', Comment.Multiline, 'comment'),
             (r'(shared|abstract|formal|default|actual|variable|deprecated|small|'
              r'late|literal|doc|by|see|throws|optional|license|tagged|final|native|'
@@ -1035,11 +1043,11 @@ class CeylonLexer(RegexLexer):
              r'super|given|of|out|assign)\b', Keyword.Declaration),
             (r'(function|value|void|new)\b',
              Keyword.Type),
-            (r'(assembly|module|package)(\s+)', bygroups(Keyword.Namespace, Text)),
+            (r'(assembly|module|package)(\s+)', bygroups(Keyword.Namespace, Whitespace)),
             (r'(true|false|null)\b', Keyword.Constant),
             (r'(class|interface|object|alias)(\s+)',
-             bygroups(Keyword.Declaration, Text), 'class'),
-            (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
+             bygroups(Keyword.Declaration, Whitespace), 'class'),
+            (r'(import)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'import'),
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
             (r"'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'", String.Char),
             (r'(\.)([a-z_]\w*)',
@@ -1059,7 +1067,7 @@ class CeylonLexer(RegexLexer):
             (r'\$[01]+', Number.Bin),
             (r'\d{1,3}(_\d{3})+[kMGTP]?', Number.Integer),
             (r'[0-9]+[kMGTP]?', Number.Integer),
-            (r'\n', Text)
+            (r'\n', Whitespace)
         ],
         'class': [
             (r'[A-Za-z_]\w*', Name.Class, '#pop')
@@ -1079,18 +1087,18 @@ class CeylonLexer(RegexLexer):
 
 class KotlinLexer(RegexLexer):
     """
-    For `Kotlin <http://kotlinlang.org/>`_
-    source code.
+    For Kotlin source code.
 
     .. versionadded:: 1.5
     """
 
     name = 'Kotlin'
+    url = 'http://kotlinlang.org/'
     aliases = ['kotlin']
     filenames = ['*.kt', '*.kts']
     mimetypes = ['text/x-kotlin']
 
-    flags = re.MULTILINE | re.DOTALL | re.UNICODE
+    flags = re.MULTILINE | re.DOTALL
 
     kt_name = ('@?[_' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Nl') + ']' +
                '[' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Nl', 'Nd', 'Pc', 'Cf',
@@ -1111,13 +1119,13 @@ class KotlinLexer(RegexLexer):
     tokens = {
         'root': [
             # Whitespaces
-            (r'[^\S\n]+', Text),
-            (r'\s+', Text),
-            (r'\\\n', Text),  # line continuation
-            (r'\n', Text),
+            (r'[^\S\n]+', Whitespace),
+            (r'\s+', Whitespace),
+            (r'\\$', String.Escape),  # line continuation
+            (r'\n', Whitespace),
             # Comments
-            (r'//.*?\n', Comment.Single),
-            (r'^#!/.+?\n', Comment.Single),  # shebang for kotlin scripts
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
+            (r'^(#!/.+?)(\n)', bygroups(Comment.Single, Whitespace)),  # shebang for kotlin scripts
             (r'/[*].*?[*]/', Comment.Multiline),
             # Keywords
             (r'as\?', Keyword),
@@ -1133,7 +1141,7 @@ class KotlinLexer(RegexLexer):
             # Constants
             (r'(true|false|null)\b', Keyword.Constant),
             # Imports
-            (r'(package|import)(\s+)(\S+)', bygroups(Keyword, Text, Name.Namespace)),
+            (r'(package|import)(\s+)(\S+)', bygroups(Keyword, Whitespace, Name.Namespace)),
             # Dot access
             (r'(\?\.)((?:[^\W\d]|\$)[\w$]*)', bygroups(Operator, Name.Attribute)),
             (r'(\.)((?:[^\W\d]|\$)[\w$]*)', bygroups(Punctuation, Name.Attribute)),
@@ -1142,18 +1150,18 @@ class KotlinLexer(RegexLexer):
             # Labels
             (r'[^\W\d][\w.]+@', Name.Decorator),
             # Object expression
-            (r'(object)(\s+)(:)(\s+)', bygroups(Keyword, Text, Punctuation, Text), 'class'),
+            (r'(object)(\s+)(:)(\s+)', bygroups(Keyword, Whitespace, Punctuation, Whitespace), 'class'),
             # Types
             (r'((?:(?:' + modifiers + r'|fun)\s+)*)(class|interface|object)(\s+)',
-             bygroups(using(this, state='modifiers'), Keyword.Declaration, Text), 'class'),
+             bygroups(using(this, state='modifiers'), Keyword.Declaration, Whitespace), 'class'),
             # Variables
-            (r'(var|val)(\s+)(\()', bygroups(Keyword.Declaration, Text, Punctuation),
+            (r'(var|val)(\s+)(\()', bygroups(Keyword.Declaration, Whitespace, Punctuation),
              'destructuring_assignment'),
             (r'((?:(?:' + modifiers + r')\s+)*)(var|val)(\s+)',
-             bygroups(using(this, state='modifiers'), Keyword.Declaration, Text), 'variable'),
+             bygroups(using(this, state='modifiers'), Keyword.Declaration, Whitespace), 'variable'),
             # Functions
             (r'((?:(?:' + modifiers + r')\s+)*)(fun)(\s+)',
-             bygroups(using(this, state='modifiers'), Keyword.Declaration, Text), 'function'),
+             bygroups(using(this, state='modifiers'), Keyword.Declaration, Whitespace), 'function'),
             # Operators
             (r'::|!!|\?[:.]', Operator),
             (r'[~^*!%&\[\]<>|+=/?-]', Operator),
@@ -1177,9 +1185,9 @@ class KotlinLexer(RegexLexer):
         ],
         'destructuring_assignment': [
             (r',', Punctuation),
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (kt_id, Name.Variable),
-            (r'(:)(\s+)(' + kt_id + ')', bygroups(Punctuation, Text, Name)),
+            (r'(:)(\s+)(' + kt_id + ')', bygroups(Punctuation, Whitespace, Name)),
             (r'<', Operator, 'generic'),
             (r'\)', Punctuation, '#pop')
         ],
@@ -1189,16 +1197,16 @@ class KotlinLexer(RegexLexer):
             (kt_id, Name.Function, '#pop')
         ],
         'generic': [
-            (r'(>)(\s*)', bygroups(Operator, Text), '#pop'),
+            (r'(>)(\s*)', bygroups(Operator, Whitespace), '#pop'),
             (r':', Punctuation),
             (r'(reified|out|in)\b', Keyword),
             (r',', Punctuation),
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (kt_id, Name)
         ],
         'modifiers': [
             (r'\w+', Keyword.Declaration),
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             default('#pop')
         ],
         'string': [
@@ -1213,7 +1221,7 @@ class KotlinLexer(RegexLexer):
         'string_common': [
             (r'\\\\', String),  # escaped backslash
             (r'\\"', String),  # escaped quote
-            (r'\\', String),  # bare backslash 
+            (r'\\', String),  # bare backslash
             (r'\$\{', String.Interpol, 'interpolation'),
             (r'(\$)(\w+)', bygroups(String.Interpol, Name)),
             (r'[^\\"$]+', String)
@@ -1235,12 +1243,13 @@ class KotlinLexer(RegexLexer):
 
 class XtendLexer(RegexLexer):
     """
-    For `Xtend <http://xtend-lang.org/>`_ source code.
+    For Xtend source code.
 
     .. versionadded:: 1.6
     """
 
     name = 'Xtend'
+    url = 'https://www.eclipse.org/xtend/'
     aliases = ['xtend']
     filenames = ['*.xtend']
     mimetypes = ['text/x-xtend']
@@ -1253,9 +1262,9 @@ class XtendLexer(RegexLexer):
             (r'^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)'  # return arguments
              r'([a-zA-Z_$][\w$]*)'                  # method name
              r'(\s*)(\()',                          # signature start
-             bygroups(using(this), Name.Function, Text, Operator)),
-            (r'[^\S\n]+', Text),
-            (r'//.*?\n', Comment.Single),
+             bygroups(using(this), Name.Function, Whitespace, Operator)),
+            (r'[^\S\n]+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*.*?\*/', Comment.Multiline),
             (r'@[a-zA-Z_][\w.]*', Name.Decorator),
             (r'(assert|break|case|catch|continue|default|do|else|finally|for|'
@@ -1267,11 +1276,11 @@ class XtendLexer(RegexLexer):
              r'transient|volatile)\b', Keyword.Declaration),
             (r'(boolean|byte|char|double|float|int|long|short|void)\b',
              Keyword.Type),
-            (r'(package)(\s+)', bygroups(Keyword.Namespace, Text)),
+            (r'(package)(\s+)', bygroups(Keyword.Namespace, Whitespace)),
             (r'(true|false|null)\b', Keyword.Constant),
-            (r'(class|interface)(\s+)', bygroups(Keyword.Declaration, Text),
+            (r'(class|interface)(\s+)', bygroups(Keyword.Declaration, Whitespace),
              'class'),
-            (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
+            (r'(import)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'import'),
             (r"(''')", String, 'template'),
             (r'(\u00BB)', String, 'template'),
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
@@ -1282,7 +1291,7 @@ class XtendLexer(RegexLexer):
             (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
             (r'0x[0-9a-fA-F]+', Number.Hex),
             (r'[0-9]+L?', Number.Integer),
-            (r'\n', Text)
+            (r'\n', Whitespace)
         ],
         'class': [
             (r'[a-zA-Z_]\w*', Name.Class, '#pop')
@@ -1300,12 +1309,13 @@ class XtendLexer(RegexLexer):
 
 class PigLexer(RegexLexer):
     """
-    For `Pig Latin <https://pig.apache.org/>`_ source code.
+    For Pig Latin source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'Pig'
+    url = 'https://pig.apache.org/'
     aliases = ['pig']
     filenames = ['*.pig']
     mimetypes = ['text/x-pig']
@@ -1314,10 +1324,10 @@ class PigLexer(RegexLexer):
 
     tokens = {
         'root': [
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'--.*', Comment),
             (r'/\*[\w\W]*?\*/', Comment.Multiline),
-            (r'\\\n', Text),
+            (r'\\$', String.Escape),
             (r'\\', Text),
             (r'\'(?:\\[ntbrf\\\']|\\u[0-9a-f]{4}|[^\'\\\n\r])*\'', String),
             include('keywords'),
@@ -1328,9 +1338,9 @@ class PigLexer(RegexLexer):
             (r'[0-9]*\.[0-9]+(e[0-9]+)?[fd]?', Number.Float),
             (r'0x[0-9a-f]+', Number.Hex),
             (r'[0-9]+L?', Number.Integer),
-            (r'\n', Text),
+            (r'\n', Whitespace),
             (r'([a-z_]\w*)(\s*)(\()',
-             bygroups(Name.Function, Text, Punctuation)),
+             bygroups(Name.Function, Whitespace, Punctuation)),
             (r'[()#:]', Text),
             (r'[^(:#\'")\s]+', Text),
             (r'\S+\s+', Text)   # TODO: make tests pass without \s+
@@ -1367,18 +1377,19 @@ class PigLexer(RegexLexer):
 
 class GoloLexer(RegexLexer):
     """
-    For `Golo <http://golo-lang.org/>`_ source code.
+    For Golo source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'Golo'
+    url = 'http://golo-lang.org/'
     filenames = ['*.golo']
     aliases = ['golo']
 
     tokens = {
         'root': [
-            (r'[^\S\n]+', Text),
+            (r'[^\S\n]+', Whitespace),
 
             (r'#.*$', Comment),
 
@@ -1390,19 +1401,19 @@ class GoloLexer(RegexLexer):
             (r'[]{}|(),[]', Punctuation),
 
             (r'(module|import)(\s+)',
-                bygroups(Keyword.Namespace, Text),
+                bygroups(Keyword.Namespace, Whitespace),
                 'modname'),
             (r'\b([a-zA-Z_][\w$.]*)(::)',  bygroups(Name.Namespace, Punctuation)),
             (r'\b([a-zA-Z_][\w$]*(?:\.[a-zA-Z_][\w$]*)+)\b', Name.Namespace),
 
             (r'(let|var)(\s+)',
-                bygroups(Keyword.Declaration, Text),
+                bygroups(Keyword.Declaration, Whitespace),
                 'varname'),
             (r'(struct)(\s+)',
-                bygroups(Keyword.Declaration, Text),
+                bygroups(Keyword.Declaration, Whitespace),
                 'structname'),
             (r'(function)(\s+)',
-                bygroups(Keyword.Declaration, Text),
+                bygroups(Keyword.Declaration, Whitespace),
                 'funcname'),
 
             (r'(null|true|false)\b', Keyword.Constant),
@@ -1480,12 +1491,13 @@ class GoloLexer(RegexLexer):
 
 class JasminLexer(RegexLexer):
     """
-    For `Jasmin <http://jasmin.sourceforge.net/>`_ assembly code.
+    For Jasmin assembly code.
 
     .. versionadded:: 2.0
     """
 
     name = 'Jasmin'
+    url = 'http://jasmin.sourceforge.net/'
     aliases = ['jasmin', 'jasminxt']
     filenames = ['*.j']
 
@@ -1498,12 +1510,12 @@ class JasminLexer(RegexLexer):
 
     tokens = {
         'default': [
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
             (r"'", String.Single, ('#pop', 'quote')),
             (r'"', String.Double, 'string'),
             (r'=', Punctuation),
             (r':', Punctuation, 'label'),
-            (_ws, Text),
+            (_ws, Whitespace),
             (r';.*', Comment.Single),
             (r'(\$[-+])?0x-?[\da-fA-F]+%s' % _break, Number.Hex),
             (r'(\$[-+]|\+)?-?\d+%s' % _break, Number.Integer),
@@ -1591,27 +1603,27 @@ class JasminLexer(RegexLexer):
             (r'[^"\\]+', String.Double)
         ],
         'root': [
-            (r'\n+', Text),
+            (r'\n+', Whitespace),
             (r"'", String.Single, 'quote'),
             include('default'),
             (r'(%s)([ \t\r]*)(:)' % _name,
-             bygroups(Name.Label, Text, Punctuation)),
+             bygroups(Name.Label, Whitespace, Punctuation)),
             (_name, String.Other)
         ],
         'annotation': [
-            (r'\n', Text, ('#pop', 'annotation-body')),
+            (r'\n', Whitespace, ('#pop', 'annotation-body')),
             (r'default%s' % _break, Keyword.Reserved,
              ('#pop', 'annotation-default')),
             include('default')
         ],
         'annotation-body': [
-            (r'\n+', Text),
+            (r'\n+', Whitespace),
             (r'\.end%s' % _break, Keyword.Reserved, '#pop'),
             include('default'),
             (_name, String.Other, ('annotation-items', 'descriptor/no-dots'))
         ],
         'annotation-default': [
-            (r'\n+', Text),
+            (r'\n+', Whitespace),
             (r'\.end%s' % _break, Keyword.Reserved, '#pop'),
             include('default'),
             default(('annotation-items', 'descriptor/no-dots'))
@@ -1665,7 +1677,7 @@ class JasminLexer(RegexLexer):
             default('descriptor/convert-dots')
         ],
         'enclosing-method': [
-            (_ws, Text),
+            (_ws, Whitespace),
             (r'(?=[^%s]*\()' % _separator, Text, ('#pop', 'invocation')),
             default(('#pop', 'class/convert-dots'))
         ],
@@ -1711,7 +1723,7 @@ class JasminLexer(RegexLexer):
              bygroups(Name.Namespace, Name.Class, Name.Variable.Class), '#pop')
         ],
         'table': [
-            (r'\n+', Text),
+            (r'\n+', Whitespace),
             (r'default%s' % _break, Keyword.Reserved, '#pop'),
             include('default'),
             (_name, Name.Label)
@@ -1744,12 +1756,13 @@ class JasminLexer(RegexLexer):
 
 class SarlLexer(RegexLexer):
     """
-    For `SARL <http://www.sarl.io>`_ source code.
+    For SARL source code.
 
     .. versionadded:: 2.4
     """
 
     name = 'SARL'
+    url = 'http://www.sarl.io'
     aliases = ['sarl']
     filenames = ['*.sarl']
     mimetypes = ['text/x-sarl']
@@ -1762,9 +1775,9 @@ class SarlLexer(RegexLexer):
             (r'^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)'  # return arguments
              r'([a-zA-Z_$][\w$]*)'                      # method name
              r'(\s*)(\()',                             # signature start
-             bygroups(using(this), Name.Function, Text, Operator)),
-            (r'[^\S\n]+', Text),
-            (r'//.*?\n', Comment.Single),
+             bygroups(using(this), Name.Function, Whitespace, Operator)),
+            (r'[^\S\n]+', Whitespace),
+            (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
             (r'/\*.*?\*/', Comment.Multiline),
             (r'@[a-zA-Z_][\w.]*', Name.Decorator),
             (r'(as|break|case|catch|default|do|else|extends|extension|finally|'
@@ -1776,12 +1789,12 @@ class SarlLexer(RegexLexer):
              Keyword.Declaration),
             (r'(boolean|byte|char|double|float|int|long|short|void)\b',
              Keyword.Type),
-            (r'(package)(\s+)', bygroups(Keyword.Namespace, Text)),
+            (r'(package)(\s+)', bygroups(Keyword.Namespace, Whitespace)),
             (r'(false|it|null|occurrence|this|true|void)\b', Keyword.Constant),
             (r'(agent|annotation|artifact|behavior|capacity|class|enum|event|'
-             r'interface|skill|space)(\s+)', bygroups(Keyword.Declaration, Text),
+             r'interface|skill|space)(\s+)', bygroups(Keyword.Declaration, Whitespace),
              'class'),
-            (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
+            (r'(import)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'import'),
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
             (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
             (r'[a-zA-Z_]\w*:', Name.Label),
@@ -1790,7 +1803,7 @@ class SarlLexer(RegexLexer):
             (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
             (r'0x[0-9a-fA-F]+', Number.Hex),
             (r'[0-9]+L?', Number.Integer),
-            (r'\n', Text)
+            (r'\n', Whitespace)
         ],
         'class': [
             (r'[a-zA-Z_]\w*', Name.Class, '#pop')
index 676efef17241cb27fce49207560a687f52f9af65..1d7ba67cca67c50da7ddddc8227eff5386574faf 100644 (file)
@@ -4,22 +4,24 @@
 
     Lexers for the Kuin language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 from pygments.lexer import RegexLexer, include, using, this, bygroups, words
-from pygments.token import Text, Comment, Operator, Keyword, Name, String, Number, Punctuation
+from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
+        Number, Punctuation, Whitespace
 
 __all__ = ['KuinLexer']
 
 class KuinLexer(RegexLexer):
     """
-    For `Kuin <https://github.com/kuina/Kuin>`_ source code
+    For Kuin source code
 
     .. versionadded:: 2.9
     """
     name = 'Kuin'
+    url = 'https://github.com/kuina/Kuin'
     aliases = ['kuin']
     filenames = ['*.kn']
 
@@ -32,7 +34,7 @@ class KuinLexer(RegexLexer):
             include('whitespace'),
 
             # Block-statement
-            (r'(\+?[ \t]*\*?[ \t]*\bfunc)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)', bygroups(Keyword, using(this), Name.Function), 'func_'),
+            (r'(\+?)([ \t]*)(\*?)([ \t]*)(\bfunc)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)', bygroups(Keyword,Whitespace, Keyword, Whitespace,  Keyword, using(this), Name.Function), 'func_'),
             (r'\b(class)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)', bygroups(Keyword, using(this), Name.Class), 'class_'),
             (r'\b(enum)([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*)', bygroups(Keyword, using(this), Name.Constant), 'enum_'),
             (r'\b(block)\b(?:([ \t]+(?:\n\s*\|)*[ \t]*)([a-zA-Z_][0-9a-zA-Z_]*))?', bygroups(Keyword, using(this), Name.Other), 'block_'),
@@ -53,13 +55,13 @@ class KuinLexer(RegexLexer):
             (r'\b(alias)\b', Keyword, 'alias'),
             (r'\b(assert)\b', Keyword, 'assert'),
             (r'\|', Text, 'continued_line'),
-            (r'[ \t]*\n', Text),
+            (r'[ \t]*\n', Whitespace),
         ],
 
         # Whitespace / Comment
         'whitespace': [
-            (r'^[ \t]*;.*', Comment.Single),
-            (r'[ \t]+(?![; \t])', Text),
+            (r'^([ \t]*)(;.*)', bygroups(Comment.Single, Whitespace)),
+            (r'[ \t]+(?![; \t])', Whitespace),
             (r'\{', Comment.Multiline, 'multiline_comment'),
         ],
         'multiline_comment': [
@@ -72,7 +74,7 @@ class KuinLexer(RegexLexer):
         # Block-statement
         'func_': [
             include('expr'),
-            (r'\n', Text, 'func'),
+            (r'\n', Whitespace, 'func'),
         ],
         'func': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(func)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -80,7 +82,7 @@ class KuinLexer(RegexLexer):
         ],
         'class_': [
             include('expr'),
-            (r'\n', Text, 'class'),
+            (r'\n', Whitespace, 'class'),
         ],
         'class': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(class)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -88,16 +90,16 @@ class KuinLexer(RegexLexer):
         ],
         'enum_': [
             include('expr'),
-            (r'\n', Text, 'enum'),
+            (r'\n', Whitespace, 'enum'),
         ],
         'enum': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(enum)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
             include('expr'),
-            (r'\n', Text),
+            (r'\n', Whitespace),
         ],
         'block_': [
             include('expr'),
-            (r'\n', Text, 'block'),
+            (r'\n', Whitespace, 'block'),
         ],
         'block': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(block)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -107,7 +109,7 @@ class KuinLexer(RegexLexer):
         ],
         'ifdef_': [
             include('expr'),
-            (r'\n', Text, 'ifdef'),
+            (r'\n', Whitespace, 'ifdef'),
         ],
         'ifdef': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(ifdef)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -118,11 +120,11 @@ class KuinLexer(RegexLexer):
         ],
         'ifdef_sp': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'if_': [
             include('expr'),
-            (r'\n', Text, 'if'),
+            (r'\n', Whitespace, 'if'),
         ],
         'if': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(if)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -133,11 +135,11 @@ class KuinLexer(RegexLexer):
         ],
         'if_sp': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'switch_': [
             include('expr'),
-            (r'\n', Text, 'switch'),
+            (r'\n', Whitespace, 'switch'),
         ],
         'switch': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(switch)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -148,11 +150,11 @@ class KuinLexer(RegexLexer):
         ],
         'switch_sp': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'while_': [
             include('expr'),
-            (r'\n', Text, 'while'),
+            (r'\n', Whitespace, 'while'),
         ],
         'while': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(while)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -162,7 +164,7 @@ class KuinLexer(RegexLexer):
         ],
         'for_': [
             include('expr'),
-            (r'\n', Text, 'for'),
+            (r'\n', Whitespace, 'for'),
         ],
         'for': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(for)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -172,7 +174,7 @@ class KuinLexer(RegexLexer):
         ],
         'foreach_': [
             include('expr'),
-            (r'\n', Text, 'foreach'),
+            (r'\n', Whitespace, 'foreach'),
         ],
         'foreach': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(foreach)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -182,7 +184,7 @@ class KuinLexer(RegexLexer):
         ],
         'try_': [
             include('expr'),
-            (r'\n', Text, 'try'),
+            (r'\n', Whitespace, 'try'),
         ],
         'try': [
             (r'\b(end)([ \t]+(?:\n\s*\|)*[ \t]*)(try)\b', bygroups(Keyword, using(this), Keyword), '#pop:2'),
@@ -193,7 +195,7 @@ class KuinLexer(RegexLexer):
         ],
         'try_sp': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
 
         # Line-statement
@@ -205,35 +207,35 @@ class KuinLexer(RegexLexer):
         ],
         'alias': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'assert': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'const': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'do': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'ret': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'throw': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'var': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
         'continued_line': [
             include('expr'),
-            (r'\n', Text, '#pop'),
+            (r'\n', Whitespace, '#pop'),
         ],
 
         'expr': [
index 9705cbadcb75999c5342198ff3cb94a0ce37e737..0debac85dd65886774b773e27d9547f792804af1 100644 (file)
@@ -4,13 +4,13 @@
 
     Lexer for LilyPond.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 import re
 
-from pygments.lexer import default, inherit, words
+from pygments.lexer import bygroups, default, inherit, words
 from pygments.lexers.lisp import SchemeLexer
 from pygments.lexers._lilypond_builtins import (
     keywords, pitch_language_names, clefs, scales, repeat_types, units,
@@ -37,7 +37,7 @@ def builtin_words(names, backslash, suffix=NAME_END_RE):
 
 class LilyPondLexer(SchemeLexer):
     """
-    Lexer for input to `LilyPond <https://lilypond.org>`_, a text-based music typesetter.
+    Lexer for input to LilyPond, a text-based music typesetter.
 
     .. important::
 
@@ -46,6 +46,7 @@ class LilyPondLexer(SchemeLexer):
     .. versionadded:: 2.11
     """
     name = 'LilyPond'
+    url = 'https://lilypond.org'
     aliases = ['lilypond']
     filenames = ['*.ly']
     mimetypes = []
@@ -99,7 +100,7 @@ class LilyPondLexer(SchemeLexer):
             # - chord: < >,
             # - bar check: |,
             # - dot in nested properties: \revert NoteHead.color,
-            # - equals sign in assignemnts and lists for various commands:
+            # - equals sign in assignments and lists for various commands:
             #   \override Stem.color = red,
             # - comma as alternative syntax for lists: \time 3,3,2 4/4,
             # - colon in tremolos: c:32,
@@ -169,7 +170,9 @@ class LilyPondLexer(SchemeLexer):
             (r"([^\W\d]|-)+(?=([^\W\d]|[\-.])*\s*=)", Token.Name.Lvalue),
 
             # Virtually everything can appear in markup mode, so we highlight
-            # as text.
+            # as text.  Try to get a complete word, or we might wrongly lex
+            # a suffix that happens to be a builtin as a builtin (e.g., "myStaff").
+            (r"([^\W\d]|-)+?" + NAME_END_RE, Token.Text),
             (r".", Token.Text),
         ],
         "string": [
@@ -188,9 +191,9 @@ class LilyPondLexer(SchemeLexer):
         # everything that looks like a-known-property.foo.bar-baz as
         # one single property name.
         "maybe-subproperties": [
-            (r"\.", Token.Punctuation),
             (r"\s+", Token.Whitespace),
-            (r"([^\W\d])+" + NAME_END_RE, Token.Name.Builtin.GrobProperty),
+            (r"(\.)((?:[^\W\d]|-)+?)" + NAME_END_RE,
+             bygroups(Token.Punctuation, Token.Name.Builtin.GrobProperty)),
             default("#pop"),
         ]
     }
index 5628e336ca47db97caef426721afb7a14f307c62..6dab1fdaea7355a95047df0401a79df99146717c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Lispy languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -12,21 +12,19 @@ import re
 
 from pygments.lexer import RegexLexer, include, bygroups, words, default
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
-    Number, Punctuation, Literal, Error
+    Number, Punctuation, Literal, Error, Whitespace
 
 from pygments.lexers.python import PythonLexer
 
+from pygments.lexers._scheme_builtins import scheme_keywords, scheme_builtins
+
 __all__ = ['SchemeLexer', 'CommonLispLexer', 'HyLexer', 'RacketLexer',
            'NewLispLexer', 'EmacsLispLexer', 'ShenLexer', 'CPSALexer',
            'XtlangLexer', 'FennelLexer']
 
-
 class SchemeLexer(RegexLexer):
     """
-    A Scheme lexer, parsing a stream and outputting the tokens
-    needed to highlight scheme code.
-    This lexer could be most probably easily subclassed to parse
-    other LISP-Dialects like Common Lisp, Emacs Lisp or AutoLisp.
+    A Scheme lexer.
 
     This parser is checked with pastes from the LISP pastebin
     at http://paste.lisp.org/ to cover as much syntax as possible.
@@ -36,65 +34,154 @@ class SchemeLexer(RegexLexer):
     .. versionadded:: 0.6
     """
     name = 'Scheme'
+    url = 'http://www.scheme-reports.org/'
     aliases = ['scheme', 'scm']
     filenames = ['*.scm', '*.ss']
     mimetypes = ['text/x-scheme', 'application/x-scheme']
 
     flags = re.DOTALL | re.MULTILINE
-    # list of known keywords and builtins taken form vim 6.4 scheme.vim
-    # syntax file.
-    keywords = (
-        'lambda', 'define', 'if', 'else', 'cond', 'and', 'or', 'case', 'let',
-        'let*', 'letrec', 'begin', 'do', 'delay', 'set!', '=>', 'quote',
-        'quasiquote', 'unquote', 'unquote-splicing', 'define-syntax',
-        'let-syntax', 'letrec-syntax', 'syntax-rules'
-    )
-    builtins = (
-        '*', '+', '-', '/', '<', '<=', '=', '>', '>=', 'abs', 'acos', 'angle',
-        'append', 'apply', 'asin', 'assoc', 'assq', 'assv', 'atan',
-        'boolean?', 'caaaar', 'caaadr', 'caaar', 'caadar', 'caaddr', 'caadr',
-        'caar', 'cadaar', 'cadadr', 'cadar', 'caddar', 'cadddr', 'caddr',
-        'cadr', 'call-with-current-continuation', 'call-with-input-file',
-        'call-with-output-file', 'call-with-values', 'call/cc', 'car',
-        'cdaaar', 'cdaadr', 'cdaar', 'cdadar', 'cdaddr', 'cdadr', 'cdar',
-        'cddaar', 'cddadr', 'cddar', 'cdddar', 'cddddr', 'cdddr', 'cddr',
-        'cdr', 'ceiling', 'char->integer', 'char-alphabetic?', 'char-ci<=?',
-        'char-ci<?', 'char-ci=?', 'char-ci>=?', 'char-ci>?', 'char-downcase',
-        'char-lower-case?', 'char-numeric?', 'char-ready?', 'char-upcase',
-        'char-upper-case?', 'char-whitespace?', 'char<=?', 'char<?', 'char=?',
-        'char>=?', 'char>?', 'char?', 'close-input-port', 'close-output-port',
-        'complex?', 'cons', 'cos', 'current-input-port', 'current-output-port',
-        'denominator', 'display', 'dynamic-wind', 'eof-object?', 'eq?',
-        'equal?', 'eqv?', 'eval', 'even?', 'exact->inexact', 'exact?', 'exp',
-        'expt', 'floor', 'for-each', 'force', 'gcd', 'imag-part',
-        'inexact->exact', 'inexact?', 'input-port?', 'integer->char',
-        'integer?', 'interaction-environment', 'lcm', 'length', 'list',
-        'list->string', 'list->vector', 'list-ref', 'list-tail', 'list?',
-        'load', 'log', 'magnitude', 'make-polar', 'make-rectangular',
-        'make-string', 'make-vector', 'map', 'max', 'member', 'memq', 'memv',
-        'min', 'modulo', 'negative?', 'newline', 'not', 'null-environment',
-        'null?', 'number->string', 'number?', 'numerator', 'odd?',
-        'open-input-file', 'open-output-file', 'output-port?', 'pair?',
-        'peek-char', 'port?', 'positive?', 'procedure?', 'quotient',
-        'rational?', 'rationalize', 'read', 'read-char', 'real-part', 'real?',
-        'remainder', 'reverse', 'round', 'scheme-report-environment',
-        'set-car!', 'set-cdr!', 'sin', 'sqrt', 'string', 'string->list',
-        'string->number', 'string->symbol', 'string-append', 'string-ci<=?',
-        'string-ci<?', 'string-ci=?', 'string-ci>=?', 'string-ci>?',
-        'string-copy', 'string-fill!', 'string-length', 'string-ref',
-        'string-set!', 'string<=?', 'string<?', 'string=?', 'string>=?',
-        'string>?', 'string?', 'substring', 'symbol->string', 'symbol?',
-        'tan', 'transcript-off', 'transcript-on', 'truncate', 'values',
-        'vector', 'vector->list', 'vector-fill!', 'vector-length',
-        'vector-ref', 'vector-set!', 'vector?', 'with-input-from-file',
-        'with-output-to-file', 'write', 'write-char', 'zero?'
-    )
 
     # valid names for identifiers
     # well, names can only not consist fully of numbers
     # but this should be good enough for now
     valid_name = r'[\w!$%&*+,/:<=>?@^~|-]+'
 
+    # Use within verbose regexes
+    token_end = r'''
+      (?=
+        \s         # whitespace
+        | ;        # comment
+        | \#[;|!] # fancy comments
+        | [)\]]    # end delimiters
+        | $        # end of file
+      )
+    '''
+
+    # Recognizing builtins.
+    def get_tokens_unprocessed(self, text):
+        for index, token, value in super().get_tokens_unprocessed(text):
+            if token is Name.Function or token is Name.Variable:
+                if value in scheme_keywords:
+                    yield index, Keyword, value
+                elif value in scheme_builtins:
+                    yield index, Name.Builtin, value
+                else:
+                    yield index, token, value
+            else:
+                yield index, token, value
+
+    # Scheme has funky syntactic rules for numbers. These are all
+    # valid number literals: 5.0e55|14, 14/13, -1+5j, +1@5, #b110,
+    # #o#Iinf.0-nan.0i.  This is adapted from the formal grammar given
+    # in http://www.r6rs.org/final/r6rs.pdf, section 4.2.1.  Take a
+    # deep breath ...
+
+    # It would be simpler if we could just not bother about invalid
+    # numbers like #b35. But we cannot parse 'abcdef' without #x as a
+    # number.
+
+    number_rules = {}
+    for base in (2, 8, 10, 16):
+        if base == 2:
+            digit = r'[01]'
+            radix = r'( \#[bB] )'
+        elif base == 8:
+            digit = r'[0-7]'
+            radix = r'( \#[oO] )'
+        elif base == 10:
+            digit = r'[0-9]'
+            radix = r'( (\#[dD])? )'
+        elif base == 16:
+            digit = r'[0-9a-fA-F]'
+            radix = r'( \#[xX] )'
+
+        # Radix, optional exactness indicator.
+        prefix = rf'''
+          (
+            {radix} (\#[iIeE])?
+            | \#[iIeE] {radix}
+          )
+        '''
+
+        # Simple unsigned number or fraction.
+        ureal = rf'''
+          (
+            {digit}+
+            ( / {digit}+ )?
+          )
+        '''
+
+        # Add decimal numbers.
+        if base == 10:
+            decimal = r'''
+              (
+                # Decimal part
+                (
+                  [0-9]+ ([.][0-9]*)?
+                  | [.][0-9]+
+                )
+
+                # Optional exponent
+                (
+                  [eEsSfFdDlL] [+-]? [0-9]+
+                )?
+
+                # Optional mantissa width
+                (
+                  \|[0-9]+
+                )?
+              )
+            '''
+            ureal = rf'''
+              (
+                {decimal} (?!/)
+                | {ureal}
+              )
+            '''
+
+        naninf = r'(nan.0|inf.0)'
+
+        real = rf'''
+          (
+            [+-] {naninf}  # Sign mandatory
+            | [+-]? {ureal}    # Sign optional
+          )
+        '''
+
+        complex_ = rf'''
+          (
+            {real}?  [+-]  ({naninf}|{ureal})?  i
+            | {real} (@ {real})?
+
+          )
+        '''
+
+        num = rf'''(?x)
+          (
+            {prefix}
+            {complex_}
+          )
+          # Need to ensure we have a full token. 1+ is not a
+          # number followed by something else, but a function
+          # name.
+          {token_end}
+        '''
+
+        number_rules[base] = num
+
+    # If you have a headache now, say thanks to RnRS editors.
+
+    # Doing it this way is simpler than splitting the number(10)
+    # regex in a floating-point and a no-floating-point version.
+    def decimal_cb(self, match):
+        if '.' in match.group():
+            token_type = Number.Float # includes [+-](inf|nan).0
+        else:
+            token_type = Number.Integer
+        yield match.start(), token_type, match.group()
+
+    # --
+
     # The 'scheme-root' state parses as many expressions as needed, always
     # delegating to the 'scheme-value' state. The latter parses one complete
     # expression and immediately pops back. This is needed for the LilyPondLexer.
@@ -119,25 +206,27 @@ class SchemeLexer(RegexLexer):
             (r';.*?$', Comment.Single),
             # multi-line comment
             (r'#\|', Comment.Multiline, 'multiline-comment'),
-            # commented form (entire sexpr folliwng)
-            (r'#;\s*\(', Comment, 'commented-form'),
+            # commented form (entire sexpr following)
+            (r'#;[([]', Comment, 'commented-form'),
+            # commented datum
+            (r'#;', Comment, 'commented-datum'),
             # signifies that the program text that follows is written with the
             # lexical and datum syntax described in r6rs
             (r'#!r6rs', Comment),
 
             # whitespaces - usually not relevant
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
 
             # numbers
-            (r'-?\d+\.\d+', Number.Float, '#pop'),
-            (r'-?\d+', Number.Integer, '#pop'),
-            # support for uncommon kinds of numbers -
-            # have to figure out what the characters mean
-            # (r'(#e|#i|#b|#o|#d|#x)[\d.]+', Number),
+            (number_rules[2], Number.Bin, '#pop'),
+            (number_rules[8], Number.Oct, '#pop'),
+            (number_rules[10], decimal_cb, '#pop'),
+            (number_rules[16], Number.Hex, '#pop'),
 
-            # strings, symbols and characters
-            (r'"(\\\\|\\[^\\]|[^"\\])*"', String, "#pop"),
+            # strings, symbols, keywords and characters
+            (r'"', String, 'string'),
             (r"'" + valid_name, String.Symbol, "#pop"),
+            (r'#:' + valid_name, Keyword.Declaration, '#pop'),
             (r"#\\([()/'\"._!§$%& ?=+-]|[a-zA-Z0-9]+)", String.Char, "#pop"),
 
             # constants
@@ -146,23 +235,16 @@ class SchemeLexer(RegexLexer):
             # special operators
             (r"('|#|`|,@|,|\.)", Operator),
 
-            # highlight the keywords
-            ('(%s)' % '|'.join(re.escape(entry) + ' ' for entry in keywords),
-             Keyword,
-             '#pop'),
-
             # first variable in a quoted string like
             # '(this is syntactic sugar)
             (r"(?<='\()" + valid_name, Name.Variable, '#pop'),
             (r"(?<=#\()" + valid_name, Name.Variable, '#pop'),
 
-            # highlight the builtins
-            (r"(?<=\()(%s)" % '|'.join(re.escape(entry) + ' ' for entry in builtins),
-             Name.Builtin,
-             '#pop'),
-
-            # the remaining functions
+            # Functions -- note that this also catches variables
+            # defined in let/let*, but there is little that can
+            # be done about it.
             (r'(?<=\()' + valid_name, Name.Function, '#pop'),
+
             # find the remaining variables
             (valid_name, Name.Variable, '#pop'),
 
@@ -170,11 +252,11 @@ class SchemeLexer(RegexLexer):
 
             # Push scheme-root to enter a state that will parse as many things
             # as needed in the parentheses.
-            (r'\(|\[', Punctuation, 'scheme-root'),
+            (r'[([]', Punctuation, 'scheme-root'),
             # Pop one 'value', one 'scheme-root', and yet another 'value', so
             # we get back to a state parsing expressions as needed in the
             # enclosing context.
-            (r'\)|\]', Punctuation, '#pop:3'),
+            (r'[)\]]', Punctuation, '#pop:3'),
         ],
         'multiline-comment': [
             (r'#\|', Comment.Multiline, '#push'),
@@ -183,10 +265,30 @@ class SchemeLexer(RegexLexer):
             (r'[|#]', Comment.Multiline),
         ],
         'commented-form': [
-            (r'\(', Comment, '#push'),
-            (r'\)', Comment, '#pop'),
-            (r'[^()]+', Comment),
+            (r'[([]', Comment, '#push'),
+            (r'[)\]]', Comment, '#pop'),
+            (r'[^()[\]]+', Comment),
         ],
+        'commented-datum': [
+            (rf'(?x).*?{token_end}', Comment, '#pop'),
+        ],
+        'string': [
+            # Pops back from 'string', and pops 'value' as well.
+            ('"', String, '#pop:2'),
+            # Hex escape sequences, R6RS-style.
+            (r'\\x[0-9a-fA-F]+;', String.Escape),
+            # We try R6RS style first, but fall back to Guile-style.
+            (r'\\x[0-9a-fA-F]{2}', String.Escape),
+            # Other special escape sequences implemented by Guile.
+            (r'\\u[0-9a-fA-F]{4}', String.Escape),
+            (r'\\U[0-9a-fA-F]{6}', String.Escape),
+            # Escape sequences are not overly standardized. Recognizing
+            # a single character after the backslash should be good enough.
+            # NB: we have DOTALL.
+            (r'\\.', String.Escape),
+            # The rest
+            (r'[^\\"]+', String),
+        ]
     }
 
 
@@ -197,6 +299,7 @@ class CommonLispLexer(RegexLexer):
     .. versionadded:: 0.9
     """
     name = 'Common Lisp'
+    url = 'https://lisp-lang.org/'
     aliases = ['common-lisp', 'cl', 'lisp']
     filenames = ['*.cl', '*.lisp']
     mimetypes = ['text/x-common-lisp']
@@ -271,7 +374,7 @@ class CommonLispLexer(RegexLexer):
         ],
         'body': [
             # whitespace
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
 
             # single-line comment
             (r';.*$', Comment.Single),
@@ -370,11 +473,12 @@ class CommonLispLexer(RegexLexer):
 
 class HyLexer(RegexLexer):
     """
-    Lexer for `Hy <http://hylang.org/>`_ source code.
+    Lexer for Hy source code.
 
     .. versionadded:: 2.0
     """
     name = 'Hy'
+    url = 'http://hylang.org/'
     aliases = ['hylang']
     filenames = ['*.hy']
     mimetypes = ['text/x-hy', 'application/x-hy']
@@ -419,7 +523,8 @@ class HyLexer(RegexLexer):
             (r';.*$', Comment.Single),
 
             # whitespaces - usually not relevant
-            (r'[,\s]+', Text),
+            (r',+', Text),
+            (r'\s+', Whitespace),
 
             # numbers
             (r'-?\d+\.\d+', Number.Float),
@@ -483,13 +588,14 @@ class HyLexer(RegexLexer):
 
 class RacketLexer(RegexLexer):
     """
-    Lexer for `Racket <http://racket-lang.org/>`_ source code (formerly
+    Lexer for Racket source code (formerly
     known as PLT Scheme).
 
     .. versionadded:: 1.6
     """
 
     name = 'Racket'
+    url = 'http://racket-lang.org/'
     aliases = ['racket', 'rkt']
     filenames = ['*.rkt', '*.rktd', '*.rktl']
     mimetypes = ['text/x-racket', 'application/x-racket']
@@ -1299,7 +1405,7 @@ class RacketLexer(RegexLexer):
             (r'#\|', Comment.Multiline, 'block-comment'),
 
             # Whitespaces
-            (r'(?u)\s+', Text),
+            (r'(?u)\s+', Whitespace),
 
             # Numbers: Keep in mind Racket reader hash prefixes, which
             # can denote the base or the type. These don't map neatly
@@ -1348,7 +1454,7 @@ class RacketLexer(RegexLexer):
             (r'#(true|false|[tTfF])', Name.Constant, '#pop'),
 
             # Keyword argument names (e.g. #:keyword)
-            (r'(?u)#:%s' % _symbol, Keyword.Declaration, '#pop'),
+            (r'#:%s' % _symbol, Keyword.Declaration, '#pop'),
 
             # Reader extensions
             (r'(#lang |#!)(\S+)',
@@ -1377,9 +1483,9 @@ class RacketLexer(RegexLexer):
             (r'quasiquote(?=[%s])' % _delimiters, Keyword,
              ('#pop', 'quasiquoted-datum')),
             (_opening_parenthesis, Punctuation, ('#pop', 'unquoted-list')),
-            (words(_keywords, prefix='(?u)', suffix='(?=[%s])' % _delimiters),
+            (words(_keywords, suffix='(?=[%s])' % _delimiters),
              Keyword, '#pop'),
-            (words(_builtins, prefix='(?u)', suffix='(?=[%s])' % _delimiters),
+            (words(_builtins, suffix='(?=[%s])' % _delimiters),
              Name.Builtin, '#pop'),
             (_symbol, Name, '#pop'),
             include('datum*')
@@ -1425,17 +1531,18 @@ class RacketLexer(RegexLexer):
 
 class NewLispLexer(RegexLexer):
     """
-    For `newLISP. <http://www.newlisp.org/>`_ source code (version 10.3.0).
+    For newLISP source code (version 10.3.0).
 
     .. versionadded:: 1.5
     """
 
     name = 'NewLisp'
+    url = 'http://www.newlisp.org/'
     aliases = ['newlisp']
     filenames = ['*.lsp', '*.nl', '*.kif']
     mimetypes = ['text/x-newlisp', 'application/x-newlisp']
 
-    flags = re.IGNORECASE | re.MULTILINE | re.UNICODE
+    flags = re.IGNORECASE | re.MULTILINE
 
     # list of built-in functions for newLISP version 10.3
     builtins = (
@@ -1512,7 +1619,7 @@ class NewLispLexer(RegexLexer):
             (r'#.*$', Comment.Single),
 
             # whitespace
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
 
             # strings, symbols and characters
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
@@ -2124,7 +2231,7 @@ class EmacsLispLexer(RegexLexer):
         ],
         'body': [
             # whitespace
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
 
             # single-line comment
             (r';.*$', Comment.Single),
@@ -2201,11 +2308,12 @@ class EmacsLispLexer(RegexLexer):
 
 class ShenLexer(RegexLexer):
     """
-    Lexer for `Shen <http://shenlanguage.org/>`_ source code.
+    Lexer for Shen source code.
 
     .. versionadded:: 2.1
     """
     name = 'Shen'
+    url = 'http://shenlanguage.org/'
     aliases = ['shen']
     filenames = ['*.shen']
     mimetypes = ['text/x-shen', 'application/x-shen']
@@ -2271,7 +2379,7 @@ class ShenLexer(RegexLexer):
         'root': [
             (r'(?s)\\\*.*?\*\\', Comment.Multiline),  # \* ... *\
             (r'\\\\.*', Comment.Single),              # \\ ...
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
             (r'_{5,}', Punctuation),
             (r'={5,}', Punctuation),
             (r'(;|:=|\||--?>|<--?)', Punctuation),
@@ -2293,7 +2401,7 @@ class ShenLexer(RegexLexer):
         return tokens
 
     def _relevant(self, token):
-        return token not in (Text, Comment.Single, Comment.Multiline)
+        return token not in (Text, Whitespace, Comment.Single, Comment.Multiline)
 
     def _process_declarations(self, tokens):
         opening_paren = False
@@ -2398,7 +2506,7 @@ class CPSALexer(RegexLexer):
             (r';.*$', Comment.Single),
 
             # whitespaces - usually not relevant
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
 
             # numbers
             (r'-?\d+\.\d+', Number.Float),
@@ -2442,8 +2550,7 @@ class CPSALexer(RegexLexer):
 
 
 class XtlangLexer(RegexLexer):
-    """An xtlang lexer for the `Extempore programming environment
-    <http://extempore.moso.com.au>`_.
+    """An xtlang lexer for the Extempore programming environment.
 
     This is a mixture of Scheme and xtlang, really. Keyword lists are
     taken from the Extempore Emacs mode
@@ -2452,6 +2559,7 @@ class XtlangLexer(RegexLexer):
     .. versionadded:: 2.2
     """
     name = 'xtlang'
+    url = 'http://extempore.moso.com.au'
     aliases = ['extempore']
     filenames = ['*.xtm']
     mimetypes = []
@@ -2611,7 +2719,7 @@ class XtlangLexer(RegexLexer):
             (r';.*$', Comment.Single),
 
             # whitespaces - usually not relevant
-            (r'\s+', Text),
+            (r'\s+', Whitespace),
 
             # numbers
             (r'-?\d+\.\d+', Number.Float),
@@ -2646,7 +2754,7 @@ class XtlangLexer(RegexLexer):
 
 
 class FennelLexer(RegexLexer):
-    """A lexer for the `Fennel programming language <https://fennel-lang.org>`_.
+    """A lexer for the Fennel programming language.
 
     Fennel compiles to Lua, so all the Lua builtins are recognized as well
     as the special forms that are particular to the Fennel compiler.
@@ -2654,6 +2762,7 @@ class FennelLexer(RegexLexer):
     .. versionadded:: 2.3
     """
     name = 'Fennel'
+    url = 'https://fennel-lang.org'
     aliases = ['fennel', 'fnl']
     filenames = ['*.fnl']
 
@@ -2692,7 +2801,8 @@ class FennelLexer(RegexLexer):
             # the only comment form is a semicolon; goes to the end of the line
             (r';.*$', Comment.Single),
 
-            (r'[,\s]+', Text),
+            (r',+', Text),
+            (r'\s+', Whitespace),
             (r'-?\d+\.\d+', Number.Float),
             (r'-?\d+', Number.Integer),
 
diff --git a/pygments/lexers/macaulay2.py b/pygments/lexers/macaulay2.py
new file mode 100644 (file)
index 0000000..47e7abf
--- /dev/null
@@ -0,0 +1,1692 @@
+"""
+    pygments.lexers.macaulay2
+    ~~~~~~~~~~~~~~~~~~~~~~~~~
+    Lexer for Macaulay2.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, words
+from pygments.token import Comment, Keyword, Name, String, Text
+
+__all__ = ['Macaulay2Lexer']
+
+# Auto-generated for Macaulay2-1.19. Do not modify this file manually.
+
+M2KEYWORDS = (
+    "and",
+    "break",
+    "catch",
+    "continue",
+    "do",
+    "elapsedTime",
+    "elapsedTiming",
+    "else",
+    "for",
+    "from",
+    "global",
+    "if",
+    "in",
+    "list",
+    "local",
+    "new",
+    "not",
+    "of",
+    "or",
+    "return",
+    "shield",
+    "SPACE",
+    "step",
+    "symbol",
+    "then",
+    "threadVariable",
+    "throw",
+    "time",
+    "timing",
+    "to",
+    "try",
+    "when",
+    "while",
+    "xor"
+    )
+
+M2DATATYPES = (
+    "Adjacent",
+    "AffineVariety",
+    "Analyzer",
+    "ANCHOR",
+    "AngleBarList",
+    "Array",
+    "AssociativeExpression",
+    "Bag",
+    "BasicList",
+    "BettiTally",
+    "BinaryOperation",
+    "BLOCKQUOTE",
+    "BODY",
+    "BOLD",
+    "Boolean",
+    "BR",
+    "CacheFunction",
+    "CacheTable",
+    "CC",
+    "CDATA",
+    "ChainComplex",
+    "ChainComplexMap",
+    "CODE",
+    "CoherentSheaf",
+    "Command",
+    "COMMENT",
+    "CompiledFunction",
+    "CompiledFunctionBody",
+    "CompiledFunctionClosure",
+    "ComplexField",
+    "Constant",
+    "Database",
+    "DD",
+    "Descent",
+    "Describe",
+    "Dictionary",
+    "DIV",
+    "Divide",
+    "DL",
+    "DocumentTag",
+    "DT",
+    "Eliminate",
+    "EM",
+    "EngineRing",
+    "Equation",
+    "ExampleItem",
+    "Expression",
+    "File",
+    "FilePosition",
+    "FractionField",
+    "Function",
+    "FunctionApplication",
+    "FunctionBody",
+    "FunctionClosure",
+    "GaloisField",
+    "GeneralOrderedMonoid",
+    "GlobalDictionary",
+    "GradedModule",
+    "GradedModuleMap",
+    "GroebnerBasis",
+    "GroebnerBasisOptions",
+    "HashTable",
+    "HEAD",
+    "HEADER1",
+    "HEADER2",
+    "HEADER3",
+    "HEADER4",
+    "HEADER5",
+    "HEADER6",
+    "HeaderType",
+    "Holder",
+    "HR",
+    "HREF",
+    "HTML",
+    "Hybrid",
+    "Hypertext",
+    "HypertextContainer",
+    "HypertextParagraph",
+    "Ideal",
+    "IMG",
+    "ImmutableType",
+    "IndeterminateNumber",
+    "IndexedVariable",
+    "IndexedVariableTable",
+    "InexactField",
+    "InexactFieldFamily",
+    "InexactNumber",
+    "InfiniteNumber",
+    "IntermediateMarkUpType",
+    "ITALIC",
+    "Keyword",
+    "LABEL",
+    "LATER",
+    "LI",
+    "LINK",
+    "List",
+    "LITERAL",
+    "LocalDictionary",
+    "LowerBound",
+    "Manipulator",
+    "MapExpression",
+    "MarkUpType",
+    "Matrix",
+    "MatrixExpression",
+    "MENU",
+    "META",
+    "MethodFunction",
+    "MethodFunctionBinary",
+    "MethodFunctionSingle",
+    "MethodFunctionWithOptions",
+    "Minus",
+    "Module",
+    "Monoid",
+    "MonoidElement",
+    "MonomialIdeal",
+    "MultigradedBettiTally",
+    "MutableHashTable",
+    "MutableList",
+    "MutableMatrix",
+    "Net",
+    "NetFile",
+    "NonAssociativeProduct",
+    "Nothing",
+    "Number",
+    "NumberedVerticalList",
+    "OL",
+    "OneExpression",
+    "Option",
+    "OptionTable",
+    "OrderedMonoid",
+    "Package",
+    "PARA",
+    "Parenthesize",
+    "Parser",
+    "Partition",
+    "PolynomialRing",
+    "Power",
+    "PRE",
+    "Product",
+    "ProductOrder",
+    "Program",
+    "ProgramRun",
+    "ProjectiveHilbertPolynomial",
+    "ProjectiveVariety",
+    "Pseudocode",
+    "QQ",
+    "QuotientRing",
+    "RealField",
+    "Resolution",
+    "Ring",
+    "RingElement",
+    "RingFamily",
+    "RingMap",
+    "RowExpression",
+    "RR",
+    "RRi",
+    "ScriptedFunctor",
+    "SelfInitializingType",
+    "Sequence",
+    "Set",
+    "SheafExpression",
+    "SheafOfRings",
+    "SMALL",
+    "SPAN",
+    "SparseMonomialVectorExpression",
+    "SparseVectorExpression",
+    "String",
+    "STRONG",
+    "STYLE",
+    "SUB",
+    "Subscript",
+    "SUBSECTION",
+    "Sum",
+    "SumOfTwists",
+    "SUP",
+    "Superscript",
+    "Symbol",
+    "SymbolBody",
+    "TABLE",
+    "Table",
+    "Tally",
+    "Task",
+    "TD",
+    "TestInput",
+    "TEX",
+    "TH",
+    "Thing",
+    "Time",
+    "TITLE",
+    "TO",
+    "TO2",
+    "TOH",
+    "TR",
+    "TT",
+    "Type",
+    "UL",
+    "URL",
+    "Variety",
+    "Vector",
+    "VectorExpression",
+    "VerticalList",
+    "VirtualTally",
+    "VisibleList",
+    "WrapperType",
+    "ZeroExpression",
+    "ZZ"
+    )
+
+M2FUNCTIONS = (
+    "about",
+    "abs",
+    "accumulate",
+    "acos",
+    "acosh",
+    "acot",
+    "addCancelTask",
+    "addDependencyTask",
+    "addEndFunction",
+    "addHook",
+    "addStartFunction",
+    "addStartTask",
+    "adjoint",
+    "agm",
+    "alarm",
+    "all",
+    "ambient",
+    "analyticSpread",
+    "ancestor",
+    "ancestors",
+    "andP",
+    "ann",
+    "annihilator",
+    "antipode",
+    "any",
+    "append",
+    "applicationDirectory",
+    "apply",
+    "applyKeys",
+    "applyPairs",
+    "applyTable",
+    "applyValues",
+    "apropos",
+    "arXiv",
+    "ascii",
+    "asin",
+    "asinh",
+    "ass",
+    "assert",
+    "associatedGradedRing",
+    "associatedPrimes",
+    "atan",
+    "atan2",
+    "atEndOfFile",
+    "autoload",
+    "baseFilename",
+    "baseName",
+    "baseRing",
+    "basis",
+    "beginDocumentation",
+    "benchmark",
+    "BesselJ",
+    "BesselY",
+    "betti",
+    "between",
+    "binomial",
+    "borel",
+    "cacheValue",
+    "cancelTask",
+    "capture",
+    "ceiling",
+    "centerString",
+    "chainComplex",
+    "char",
+    "characters",
+    "charAnalyzer",
+    "check",
+    "chi",
+    "class",
+    "clean",
+    "clearEcho",
+    "code",
+    "codim",
+    "coefficient",
+    "coefficientRing",
+    "coefficients",
+    "cohomology",
+    "coimage",
+    "coker",
+    "cokernel",
+    "collectGarbage",
+    "columnAdd",
+    "columnate",
+    "columnMult",
+    "columnPermute",
+    "columnRankProfile",
+    "columnSwap",
+    "combine",
+    "commandInterpreter",
+    "commonest",
+    "commonRing",
+    "comodule",
+    "complement",
+    "complete",
+    "components",
+    "compose",
+    "compositions",
+    "compress",
+    "concatenate",
+    "conductor",
+    "cone",
+    "conjugate",
+    "connectionCount",
+    "constParser",
+    "content",
+    "contract",
+    "conwayPolynomial",
+    "copy",
+    "copyDirectory",
+    "copyFile",
+    "cos",
+    "cosh",
+    "cot",
+    "cotangentSheaf",
+    "coth",
+    "cover",
+    "coverMap",
+    "cpuTime",
+    "createTask",
+    "csc",
+    "csch",
+    "currentDirectory",
+    "currentLineNumber",
+    "currentTime",
+    "deadParser",
+    "debug",
+    "debugError",
+    "decompose",
+    "deepSplice",
+    "default",
+    "degree",
+    "degreeLength",
+    "degrees",
+    "degreesMonoid",
+    "degreesRing",
+    "delete",
+    "demark",
+    "denominator",
+    "depth",
+    "describe",
+    "det",
+    "determinant",
+    "diagonalMatrix",
+    "diameter",
+    "dictionary",
+    "diff",
+    "difference",
+    "dim",
+    "directSum",
+    "disassemble",
+    "discriminant",
+    "dismiss",
+    "distinguished",
+    "divideByVariable",
+    "doc",
+    "document",
+    "drop",
+    "dual",
+    "eagonNorthcott",
+    "echoOff",
+    "echoOn",
+    "eigenvalues",
+    "eigenvectors",
+    "eint",
+    "elements",
+    "eliminate",
+    "End",
+    "endPackage",
+    "entries",
+    "erase",
+    "erf",
+    "erfc",
+    "error",
+    "euler",
+    "eulers",
+    "even",
+    "EXAMPLE",
+    "examples",
+    "exec",
+    "exp",
+    "expectedReesIdeal",
+    "expm1",
+    "exponents",
+    "export",
+    "exportFrom",
+    "exportMutable",
+    "expression",
+    "extend",
+    "exteriorPower",
+    "factor",
+    "Fano",
+    "fileExecutable",
+    "fileExists",
+    "fileLength",
+    "fileMode",
+    "fileReadable",
+    "fileTime",
+    "fileWritable",
+    "fillMatrix",
+    "findFiles",
+    "findHeft",
+    "findProgram",
+    "findSynonyms",
+    "first",
+    "firstkey",
+    "fittingIdeal",
+    "flagLookup",
+    "flatten",
+    "flattenRing",
+    "flip",
+    "floor",
+    "fold",
+    "forceGB",
+    "fork",
+    "format",
+    "formation",
+    "frac",
+    "fraction",
+    "frames",
+    "fromDividedPowers",
+    "fromDual",
+    "functionBody",
+    "futureParser",
+    "Gamma",
+    "gb",
+    "gbRemove",
+    "gbSnapshot",
+    "gcd",
+    "gcdCoefficients",
+    "gcdLLL",
+    "GCstats",
+    "genera",
+    "generateAssertions",
+    "generator",
+    "generators",
+    "genericMatrix",
+    "genericSkewMatrix",
+    "genericSymmetricMatrix",
+    "gens",
+    "genus",
+    "get",
+    "getc",
+    "getChangeMatrix",
+    "getenv",
+    "getGlobalSymbol",
+    "getNetFile",
+    "getNonUnit",
+    "getPrimeWithRootOfUnity",
+    "getSymbol",
+    "getWWW",
+    "GF",
+    "globalAssign",
+    "globalAssignFunction",
+    "globalAssignment",
+    "globalReleaseFunction",
+    "gradedModule",
+    "gradedModuleMap",
+    "gramm",
+    "graphIdeal",
+    "graphRing",
+    "Grassmannian",
+    "groebnerBasis",
+    "groupID",
+    "hash",
+    "hashTable",
+    "heft",
+    "height",
+    "hermite",
+    "hilbertFunction",
+    "hilbertPolynomial",
+    "hilbertSeries",
+    "hold",
+    "Hom",
+    "homogenize",
+    "homology",
+    "homomorphism",
+    "hooks",
+    "horizontalJoin",
+    "html",
+    "httpHeaders",
+    "hypertext",
+    "icFracP",
+    "icFractions",
+    "icMap",
+    "icPIdeal",
+    "ideal",
+    "idealizer",
+    "identity",
+    "image",
+    "imaginaryPart",
+    "importFrom",
+    "independentSets",
+    "index",
+    "indices",
+    "inducedMap",
+    "inducesWellDefinedMap",
+    "info",
+    "input",
+    "insert",
+    "installAssignmentMethod",
+    "installedPackages",
+    "installHilbertFunction",
+    "installMethod",
+    "installMinprimes",
+    "installPackage",
+    "instance",
+    "instances",
+    "integralClosure",
+    "integrate",
+    "intersect",
+    "intersectInP",
+    "intersection",
+    "interval",
+    "inverse",
+    "inversePermutation",
+    "inverseSystem",
+    "irreducibleCharacteristicSeries",
+    "irreducibleDecomposition",
+    "isAffineRing",
+    "isANumber",
+    "isBorel",
+    "isCanceled",
+    "isCommutative",
+    "isConstant",
+    "isDirectory",
+    "isDirectSum",
+    "isEmpty",
+    "isField",
+    "isFinite",
+    "isFinitePrimeField",
+    "isFreeModule",
+    "isGlobalSymbol",
+    "isHomogeneous",
+    "isIdeal",
+    "isInfinite",
+    "isInjective",
+    "isInputFile",
+    "isIsomorphism",
+    "isLinearType",
+    "isListener",
+    "isLLL",
+    "isMember",
+    "isModule",
+    "isMonomialIdeal",
+    "isNormal",
+    "isOpen",
+    "isOutputFile",
+    "isPolynomialRing",
+    "isPrimary",
+    "isPrime",
+    "isPrimitive",
+    "isPseudoprime",
+    "isQuotientModule",
+    "isQuotientOf",
+    "isQuotientRing",
+    "isReady",
+    "isReal",
+    "isReduction",
+    "isRegularFile",
+    "isRing",
+    "isSkewCommutative",
+    "isSorted",
+    "isSquareFree",
+    "isStandardGradedPolynomialRing",
+    "isSubmodule",
+    "isSubquotient",
+    "isSubset",
+    "isSupportedInZeroLocus",
+    "isSurjective",
+    "isTable",
+    "isUnit",
+    "isWellDefined",
+    "isWeylAlgebra",
+    "jacobian",
+    "jacobianDual",
+    "join",
+    "ker",
+    "kernel",
+    "kernelLLL",
+    "kernelOfLocalization",
+    "keys",
+    "kill",
+    "koszul",
+    "last",
+    "lcm",
+    "leadCoefficient",
+    "leadComponent",
+    "leadMonomial",
+    "leadTerm",
+    "left",
+    "length",
+    "letterParser",
+    "lift",
+    "liftable",
+    "limitFiles",
+    "limitProcesses",
+    "lines",
+    "linkFile",
+    "listForm",
+    "listSymbols",
+    "LLL",
+    "lngamma",
+    "load",
+    "loadPackage",
+    "localDictionaries",
+    "localize",
+    "locate",
+    "log",
+    "log1p",
+    "lookup",
+    "lookupCount",
+    "LUdecomposition",
+    "makeDirectory",
+    "makeDocumentTag",
+    "makePackageIndex",
+    "makeS2",
+    "map",
+    "markedGB",
+    "match",
+    "mathML",
+    "matrix",
+    "max",
+    "maxPosition",
+    "member",
+    "memoize",
+    "merge",
+    "mergePairs",
+    "method",
+    "methodOptions",
+    "methods",
+    "midpoint",
+    "min",
+    "mingens",
+    "mingle",
+    "minimalBetti",
+    "minimalPresentation",
+    "minimalPrimes",
+    "minimalReduction",
+    "minimizeFilename",
+    "minors",
+    "minPosition",
+    "minPres",
+    "minprimes",
+    "minus",
+    "mkdir",
+    "mod",
+    "module",
+    "modulo",
+    "monoid",
+    "monomialCurveIdeal",
+    "monomialIdeal",
+    "monomials",
+    "monomialSubideal",
+    "moveFile",
+    "multidegree",
+    "multidoc",
+    "multigraded",
+    "multiplicity",
+    "mutable",
+    "mutableIdentity",
+    "mutableMatrix",
+    "nanosleep",
+    "needs",
+    "needsPackage",
+    "net",
+    "netList",
+    "newClass",
+    "newCoordinateSystem",
+    "newNetFile",
+    "newPackage",
+    "newRing",
+    "nextkey",
+    "nextPrime",
+    "NNParser",
+    "nonspaceAnalyzer",
+    "norm",
+    "normalCone",
+    "notImplemented",
+    "nullhomotopy",
+    "nullParser",
+    "nullSpace",
+    "number",
+    "numcols",
+    "numColumns",
+    "numerator",
+    "numeric",
+    "numericInterval",
+    "numgens",
+    "numRows",
+    "numrows",
+    "odd",
+    "ofClass",
+    "on",
+    "openDatabase",
+    "openDatabaseOut",
+    "openFiles",
+    "openIn",
+    "openInOut",
+    "openListener",
+    "openOut",
+    "openOutAppend",
+    "optionalSignParser",
+    "options",
+    "optP",
+    "orP",
+    "override",
+    "pack",
+    "package",
+    "packageTemplate",
+    "pad",
+    "pager",
+    "pairs",
+    "parent",
+    "part",
+    "partition",
+    "partitions",
+    "parts",
+    "pdim",
+    "peek",
+    "permanents",
+    "permutations",
+    "pfaffians",
+    "pivots",
+    "plus",
+    "poincare",
+    "poincareN",
+    "polarize",
+    "poly",
+    "position",
+    "positions",
+    "power",
+    "powermod",
+    "precision",
+    "preimage",
+    "prepend",
+    "presentation",
+    "pretty",
+    "primaryComponent",
+    "primaryDecomposition",
+    "print",
+    "printerr",
+    "printString",
+    "processID",
+    "product",
+    "profile",
+    "Proj",
+    "projectiveHilbertPolynomial",
+    "promote",
+    "protect",
+    "prune",
+    "pseudocode",
+    "pseudoRemainder",
+    "pushForward",
+    "QQParser",
+    "QRDecomposition",
+    "quotient",
+    "quotientRemainder",
+    "radical",
+    "radicalContainment",
+    "random",
+    "randomKRationalPoint",
+    "randomMutableMatrix",
+    "rank",
+    "read",
+    "readDirectory",
+    "readlink",
+    "readPackage",
+    "realPart",
+    "realpath",
+    "recursionDepth",
+    "reducedRowEchelonForm",
+    "reduceHilbert",
+    "reductionNumber",
+    "reesAlgebra",
+    "reesAlgebraIdeal",
+    "reesIdeal",
+    "regex",
+    "regexQuote",
+    "registerFinalizer",
+    "regSeqInIdeal",
+    "regularity",
+    "relations",
+    "relativizeFilename",
+    "remainder",
+    "remove",
+    "removeDirectory",
+    "removeFile",
+    "removeLowestDimension",
+    "reorganize",
+    "replace",
+    "res",
+    "reshape",
+    "resolution",
+    "resultant",
+    "reverse",
+    "right",
+    "ring",
+    "ringFromFractions",
+    "roots",
+    "rotate",
+    "round",
+    "rowAdd",
+    "rowMult",
+    "rowPermute",
+    "rowRankProfile",
+    "rowSwap",
+    "rsort",
+    "run",
+    "runHooks",
+    "runLengthEncode",
+    "runProgram",
+    "same",
+    "saturate",
+    "scan",
+    "scanKeys",
+    "scanLines",
+    "scanPairs",
+    "scanValues",
+    "schedule",
+    "schreyerOrder",
+    "Schubert",
+    "searchPath",
+    "sec",
+    "sech",
+    "seeParsing",
+    "select",
+    "selectInSubring",
+    "selectVariables",
+    "separate",
+    "separateRegexp",
+    "sequence",
+    "serialNumber",
+    "set",
+    "setEcho",
+    "setGroupID",
+    "setIOExclusive",
+    "setIOSynchronized",
+    "setIOUnSynchronized",
+    "setRandomSeed",
+    "setup",
+    "setupEmacs",
+    "sheaf",
+    "sheafHom",
+    "show",
+    "showHtml",
+    "showTex",
+    "simpleDocFrob",
+    "sin",
+    "singularLocus",
+    "sinh",
+    "size",
+    "size2",
+    "sleep",
+    "smithNormalForm",
+    "solve",
+    "someTerms",
+    "sort",
+    "sortColumns",
+    "source",
+    "span",
+    "Spec",
+    "specialFiber",
+    "specialFiberIdeal",
+    "splice",
+    "splitWWW",
+    "sqrt",
+    "stack",
+    "stacksProject",
+    "standardForm",
+    "standardPairs",
+    "stashValue",
+    "status",
+    "style",
+    "sub",
+    "sublists",
+    "submatrix",
+    "submatrixByDegrees",
+    "subquotient",
+    "subsets",
+    "substitute",
+    "substring",
+    "subtable",
+    "sum",
+    "super",
+    "support",
+    "SVD",
+    "switch",
+    "sylvesterMatrix",
+    "symbolBody",
+    "symlinkDirectory",
+    "symlinkFile",
+    "symmetricAlgebra",
+    "symmetricAlgebraIdeal",
+    "symmetricKernel",
+    "symmetricPower",
+    "synonym",
+    "SYNOPSIS",
+    "syz",
+    "syzygyScheme",
+    "table",
+    "take",
+    "tally",
+    "tan",
+    "tangentCone",
+    "tangentSheaf",
+    "tanh",
+    "target",
+    "taskResult",
+    "temporaryFileName",
+    "tensor",
+    "tensorAssociativity",
+    "terminalParser",
+    "terms",
+    "TEST",
+    "testHunekeQuestion",
+    "tests",
+    "tex",
+    "texMath",
+    "times",
+    "toAbsolutePath",
+    "toCC",
+    "toDividedPowers",
+    "toDual",
+    "toExternalString",
+    "toField",
+    "toList",
+    "toLower",
+    "top",
+    "topCoefficients",
+    "topComponents",
+    "toRR",
+    "toRRi",
+    "toSequence",
+    "toString",
+    "toUpper",
+    "trace",
+    "transpose",
+    "trim",
+    "truncate",
+    "truncateOutput",
+    "tutorial",
+    "ultimate",
+    "unbag",
+    "uncurry",
+    "undocumented",
+    "uniform",
+    "uninstallAllPackages",
+    "uninstallPackage",
+    "unique",
+    "unsequence",
+    "unstack",
+    "use",
+    "userSymbols",
+    "utf8",
+    "utf8check",
+    "validate",
+    "value",
+    "values",
+    "variety",
+    "vars",
+    "vector",
+    "versalEmbedding",
+    "wait",
+    "wedgeProduct",
+    "weightRange",
+    "whichGm",
+    "width",
+    "wikipedia",
+    "wrap",
+    "youngest",
+    "zero",
+    "zeta",
+    "ZZParser"
+    )
+
+M2CONSTANTS = (
+    "AbstractToricVarieties",
+    "Acknowledgement",
+    "AdditionalPaths",
+    "AdjointIdeal",
+    "AfterEval",
+    "AfterNoPrint",
+    "AfterPrint",
+    "AInfinity",
+    "AlgebraicSplines",
+    "Algorithm",
+    "Alignment",
+    "AllCodimensions",
+    "allowableThreads",
+    "AnalyzeSheafOnP1",
+    "applicationDirectorySuffix",
+    "argument",
+    "Ascending",
+    "AssociativeAlgebras",
+    "Authors",
+    "AuxiliaryFiles",
+    "backtrace",
+    "Bareiss",
+    "BaseFunction",
+    "baseRings",
+    "BaseRow",
+    "BasisElementLimit",
+    "Bayer",
+    "BeforePrint",
+    "BeginningMacaulay2",
+    "Benchmark",
+    "Bertini",
+    "BettiCharacters",
+    "BGG",
+    "BIBasis",
+    "Binary",
+    "Binomial",
+    "BinomialEdgeIdeals",
+    "Binomials",
+    "BKZ",
+    "BlockMatrix",
+    "Body",
+    "BoijSoederberg",
+    "Book3264Examples",
+    "BooleanGB",
+    "Boxes",
+    "Browse",
+    "Bruns",
+    "cache",
+    "CacheExampleOutput",
+    "CallLimit",
+    "CannedExample",
+    "Caveat",
+    "Center",
+    "Certification",
+    "ChainComplexExtras",
+    "ChainComplexOperations",
+    "ChangeMatrix",
+    "CharacteristicClasses",
+    "CheckDocumentation",
+    "Chordal",
+    "Classic",
+    "clearAll",
+    "clearOutput",
+    "close",
+    "closeIn",
+    "closeOut",
+    "ClosestFit",
+    "Code",
+    "CodimensionLimit",
+    "CoefficientRing",
+    "Cofactor",
+    "CohenEngine",
+    "CohenTopLevel",
+    "CohomCalg",
+    "CoincidentRootLoci",
+    "commandLine",
+    "CompactMatrix",
+    "compactMatrixForm",
+    "Complement",
+    "CompleteIntersection",
+    "CompleteIntersectionResolutions",
+    "Complexes",
+    "ConductorElement",
+    "Configuration",
+    "ConformalBlocks",
+    "Consequences",
+    "Constants",
+    "Contributors",
+    "ConvexInterface",
+    "ConwayPolynomials",
+    "copyright",
+    "Core",
+    "CorrespondenceScrolls",
+    "Cremona",
+    "currentFileDirectory",
+    "currentFileName",
+    "currentLayout",
+    "currentPackage",
+    "Cyclotomic",
+    "Date",
+    "dd",
+    "DebuggingMode",
+    "debuggingMode",
+    "debugLevel",
+    "DecomposableSparseSystems",
+    "Decompose",
+    "Default",
+    "defaultPrecision",
+    "Degree",
+    "DegreeLift",
+    "DegreeLimit",
+    "DegreeMap",
+    "DegreeOrder",
+    "DegreeRank",
+    "Degrees",
+    "Dense",
+    "Density",
+    "Depth",
+    "Descending",
+    "Description",
+    "DeterminantalRepresentations",
+    "DGAlgebras",
+    "dictionaryPath",
+    "DiffAlg",
+    "Dispatch",
+    "DivideConquer",
+    "DividedPowers",
+    "Divisor",
+    "Dmodules",
+    "docExample",
+    "docTemplate",
+    "Down",
+    "EagonResolution",
+    "EdgeIdeals",
+    "edit",
+    "EigenSolver",
+    "EisenbudHunekeVasconcelos",
+    "Elimination",
+    "EliminationMatrices",
+    "EllipticCurves",
+    "EllipticIntegrals",
+    "Email",
+    "end",
+    "endl",
+    "Engine",
+    "engineDebugLevel",
+    "EngineTests",
+    "EnumerationCurves",
+    "environment",
+    "EquivariantGB",
+    "errorDepth",
+    "EulerConstant",
+    "Example",
+    "ExampleFiles",
+    "ExampleSystems",
+    "Exclude",
+    "exit",
+    "Ext",
+    "ExteriorIdeals",
+    "ExteriorModules",
+    "false",
+    "FastMinors",
+    "FastNonminimal",
+    "FGLM",
+    "fileDictionaries",
+    "fileExitHooks",
+    "FileName",
+    "FindOne",
+    "FiniteFittingIdeals",
+    "First",
+    "FirstPackage",
+    "FlatMonoid",
+    "Flexible",
+    "flush",
+    "FollowLinks",
+    "FormalGroupLaws",
+    "Format",
+    "FourierMotzkin",
+    "FourTiTwo",
+    "fpLLL",
+    "FrobeniusThresholds",
+    "FunctionFieldDesingularization",
+    "GBDegrees",
+    "gbTrace",
+    "GenerateAssertions",
+    "Generic",
+    "GenericInitialIdeal",
+    "gfanInterface",
+    "Givens",
+    "GKMVarieties",
+    "GLex",
+    "Global",
+    "GlobalAssignHook",
+    "globalAssignmentHooks",
+    "GlobalHookStore",
+    "GlobalReleaseHook",
+    "Gorenstein",
+    "GradedLieAlgebras",
+    "GraphicalModels",
+    "GraphicalModelsMLE",
+    "Graphics",
+    "Graphs",
+    "GRevLex",
+    "GroebnerStrata",
+    "GroebnerWalk",
+    "GroupLex",
+    "GroupRevLex",
+    "GTZ",
+    "Hadamard",
+    "handleInterrupts",
+    "HardDegreeLimit",
+    "Heading",
+    "Headline",
+    "Heft",
+    "Height",
+    "help",
+    "Hermite",
+    "Hermitian",
+    "HH",
+    "hh",
+    "HigherCIOperators",
+    "HighestWeights",
+    "Hilbert",
+    "HodgeIntegrals",
+    "homeDirectory",
+    "HomePage",
+    "Homogeneous",
+    "Homogeneous2",
+    "HomotopyLieAlgebra",
+    "HorizontalSpace",
+    "HyperplaneArrangements",
+    "id",
+    "IgnoreExampleErrors",
+    "ii",
+    "incomparable",
+    "Increment",
+    "indeterminate",
+    "Index",
+    "indexComponents",
+    "infinity",
+    "InfoDirSection",
+    "infoHelp",
+    "Inhomogeneous",
+    "Inputs",
+    "InstallPrefix",
+    "IntegralClosure",
+    "interpreterDepth",
+    "Intersection",
+    "InvariantRing",
+    "InverseMethod",
+    "Inverses",
+    "InverseSystems",
+    "Invertible",
+    "InvolutiveBases",
+    "Item",
+    "Iterate",
+    "Jacobian",
+    "Jets",
+    "Join",
+    "Jupyter",
+    "K3Carpets",
+    "K3Surfaces",
+    "Keep",
+    "KeepFiles",
+    "KeepZeroes",
+    "Key",
+    "Keywords",
+    "Kronecker",
+    "KustinMiller",
+    "lastMatch",
+    "LatticePolytopes",
+    "Layout",
+    "Left",
+    "LengthLimit",
+    "Lex",
+    "LexIdeals",
+    "Licenses",
+    "LieTypes",
+    "Limit",
+    "Linear",
+    "LinearAlgebra",
+    "LinearTruncations",
+    "lineNumber",
+    "listLocalSymbols",
+    "listUserSymbols",
+    "LLLBases",
+    "loadDepth",
+    "LoadDocumentation",
+    "loadedFiles",
+    "loadedPackages",
+    "Local",
+    "LocalRings",
+    "LongPolynomial",
+    "M0nbar",
+    "Macaulay2Doc",
+    "MakeDocumentation",
+    "MakeHTML",
+    "MakeInfo",
+    "MakeLinks",
+    "MakePDF",
+    "MapleInterface",
+    "Markov",
+    "Matroids",
+    "maxAllowableThreads",
+    "maxExponent",
+    "MaximalRank",
+    "MaxReductionCount",
+    "MCMApproximations",
+    "minExponent",
+    "MinimalGenerators",
+    "MinimalMatrix",
+    "minimalPresentationMap",
+    "minimalPresentationMapInv",
+    "MinimalPrimes",
+    "Minimize",
+    "MinimumVersion",
+    "Miura",
+    "MixedMultiplicity",
+    "ModuleDeformations",
+    "MonodromySolver",
+    "Monomial",
+    "MonomialAlgebras",
+    "MonomialIntegerPrograms",
+    "MonomialOrbits",
+    "MonomialOrder",
+    "Monomials",
+    "MonomialSize",
+    "MultiGradedRationalMap",
+    "MultiplicitySequence",
+    "MultiplierIdeals",
+    "MultiplierIdealsDim2",
+    "MultiprojectiveVarieties",
+    "NAGtypes",
+    "Name",
+    "Nauty",
+    "NautyGraphs",
+    "NCAlgebra",
+    "NCLex",
+    "NewFromMethod",
+    "newline",
+    "NewMethod",
+    "NewOfFromMethod",
+    "NewOfMethod",
+    "nil",
+    "Node",
+    "NoetherianOperators",
+    "NoetherNormalization",
+    "NonminimalComplexes",
+    "NoPrint",
+    "Normaliz",
+    "NormalToricVarieties",
+    "notify",
+    "NTL",
+    "null",
+    "nullaryMethods",
+    "NumericalAlgebraicGeometry",
+    "NumericalCertification",
+    "NumericalImplicitization",
+    "NumericalLinearAlgebra",
+    "NumericalSchubertCalculus",
+    "NumericSolutions",
+    "OldPolyhedra",
+    "OldToricVectorBundles",
+    "OO",
+    "oo",
+    "ooo",
+    "oooo",
+    "OpenMath",
+    "operatorAttributes",
+    "OptionalComponentsPresent",
+    "Options",
+    "Order",
+    "order",
+    "OutputDictionary",
+    "Outputs",
+    "PackageCitations",
+    "PackageDictionary",
+    "PackageExports",
+    "PackageImports",
+    "PackageTemplate",
+    "PairLimit",
+    "PairsRemaining",
+    "Parametrization",
+    "Parsing",
+    "path",
+    "PencilsOfQuadrics",
+    "Permanents",
+    "PHCpack",
+    "PhylogeneticTrees",
+    "pi",
+    "PieriMaps",
+    "PlaneCurveSingularities",
+    "Points",
+    "Polyhedra",
+    "Polymake",
+    "Posets",
+    "Position",
+    "PositivityToricBundles",
+    "POSIX",
+    "Postfix",
+    "Pre",
+    "Precision",
+    "Prefix",
+    "prefixDirectory",
+    "prefixPath",
+    "PrimaryDecomposition",
+    "PrimaryTag",
+    "PrimitiveElement",
+    "Print",
+    "printingAccuracy",
+    "printingLeadLimit",
+    "printingPrecision",
+    "printingSeparator",
+    "printingTimeLimit",
+    "printingTrailLimit",
+    "printWidth",
+    "profileSummary",
+    "programPaths",
+    "Projective",
+    "Prune",
+    "PruneComplex",
+    "pruningMap",
+    "Pullback",
+    "PushForward",
+    "Python",
+    "QthPower",
+    "Quasidegrees",
+    "QuaternaryQuartics",
+    "QuillenSuslin",
+    "quit",
+    "Quotient",
+    "Radical",
+    "RadicalCodim1",
+    "RaiseError",
+    "RandomCanonicalCurves",
+    "RandomComplexes",
+    "RandomCurves",
+    "RandomCurvesOverVerySmallFiniteFields",
+    "RandomGenus14Curves",
+    "RandomIdeals",
+    "RandomMonomialIdeals",
+    "RandomObjects",
+    "RandomPlaneCurves",
+    "RandomPoints",
+    "RandomSpaceCurves",
+    "Range",
+    "RationalMaps",
+    "RationalPoints",
+    "RationalPoints2",
+    "ReactionNetworks",
+    "RealFP",
+    "RealQP",
+    "RealQP1",
+    "RealRoots",
+    "RealRR",
+    "RealXD",
+    "recursionLimit",
+    "Reduce",
+    "ReesAlgebra",
+    "References",
+    "ReflexivePolytopesDB",
+    "Regularity",
+    "RelativeCanonicalResolution",
+    "Reload",
+    "RemakeAllDocumentation",
+    "RerunExamples",
+    "ResidualIntersections",
+    "ResLengthThree",
+    "ResolutionsOfStanleyReisnerRings",
+    "restart",
+    "Result",
+    "Resultants",
+    "returnCode",
+    "Reverse",
+    "RevLex",
+    "Right",
+    "rootPath",
+    "rootURI",
+    "RunDirectory",
+    "RunExamples",
+    "RunExternalM2",
+    "Saturation",
+    "Schubert2",
+    "SchurComplexes",
+    "SchurFunctors",
+    "SchurRings",
+    "scriptCommandLine",
+    "SCSCP",
+    "SectionRing",
+    "SeeAlso",
+    "SegreClasses",
+    "SemidefiniteProgramming",
+    "Seminormalization",
+    "SeparateExec",
+    "Serialization",
+    "sheafExt",
+    "ShimoyamaYokoyama",
+    "showClassStructure",
+    "showStructure",
+    "showUserStructure",
+    "SimpleDoc",
+    "SimplicialComplexes",
+    "SimplicialDecomposability",
+    "SimplicialPosets",
+    "SimplifyFractions",
+    "SizeLimit",
+    "SkewCommutative",
+    "SlackIdeals",
+    "SLnEquivariantMatrices",
+    "SLPexpressions",
+    "Sort",
+    "SortStrategy",
+    "SourceCode",
+    "SourceRing",
+    "SpaceCurves",
+    "SparseResultants",
+    "SpechtModule",
+    "SpecialFanoFourfolds",
+    "SpectralSequences",
+    "SRdeformations",
+    "Standard",
+    "StartWithOneMinor",
+    "StatePolytope",
+    "StatGraphs",
+    "stderr",
+    "stdio",
+    "StopBeforeComputation",
+    "stopIfError",
+    "StopWithMinimalGenerators",
+    "Strategy",
+    "StronglyStableIdeals",
+    "Style",
+    "SubalgebraBases",
+    "Subnodes",
+    "SubringLimit",
+    "subscript",
+    "Sugarless",
+    "SumsOfSquares",
+    "SuperLinearAlgebra",
+    "superscript",
+    "SVDComplexes",
+    "SwitchingFields",
+    "SymbolicPowers",
+    "SymmetricPolynomials",
+    "Synopsis",
+    "Syzygies",
+    "SyzygyLimit",
+    "SyzygyMatrix",
+    "SyzygyRows",
+    "TangentCone",
+    "TateOnProducts",
+    "TensorComplexes",
+    "Test",
+    "testExample",
+    "TestIdeals",
+    "TeXmacs",
+    "Text",
+    "ThinSincereQuivers",
+    "ThreadedGB",
+    "Threshold",
+    "Topcom",
+    "topLevelMode",
+    "Tor",
+    "TorAlgebra",
+    "Toric",
+    "ToricInvariants",
+    "ToricTopology",
+    "ToricVectorBundles",
+    "TotalPairs",
+    "Tree",
+    "TriangularSets",
+    "Tries",
+    "Trim",
+    "Triplets",
+    "Tropical",
+    "true",
+    "Truncate",
+    "Truncations",
+    "TSpreadIdeals",
+    "TypicalValue",
+    "typicalValues",
+    "Undo",
+    "Unique",
+    "Units",
+    "Unmixed",
+    "Up",
+    "UpdateOnly",
+    "UpperTriangular",
+    "Usage",
+    "UseCachedExampleOutput",
+    "UseHilbertFunction",
+    "UserMode",
+    "UseSyzygies",
+    "Variable",
+    "VariableBaseName",
+    "Variables",
+    "Vasconcelos",
+    "VectorFields",
+    "VectorGraphics",
+    "Verbose",
+    "Verbosity",
+    "Verify",
+    "VersalDeformations",
+    "Version",
+    "version",
+    "VerticalSpace",
+    "viewHelp",
+    "VirtualResolutions",
+    "Visualize",
+    "WebApp",
+    "Weights",
+    "WeylAlgebra",
+    "WeylGroups",
+    "Wrap",
+    "XML"
+    )
+
+class Macaulay2Lexer(RegexLexer):
+    name = 'Macaulay2'
+    url = 'https://faculty.math.illinois.edu/Macaulay2/'
+    aliases = ['macaulay2']
+    filenames = ['*.m2']
+
+    tokens = {
+        'root': [
+            (r'--.*$', Comment.Single),
+            (r'-\*', Comment.Multiline, 'block comment'),
+            (r'"', String, 'quote string'),
+            (r'///', String, 'slash string'),
+            (words(M2KEYWORDS, prefix=r'\b', suffix=r'\b'), Keyword),
+            (words(M2DATATYPES, prefix=r'\b', suffix=r'\b'), Name.Builtin),
+            (words(M2FUNCTIONS, prefix=r'\b', suffix=r'\b'), Name.Function),
+            (words(M2CONSTANTS, prefix=r'\b', suffix=r'\b'), Name.Constant),
+            (r'\s+', Text.Whitespace),
+            (r'.', Text)
+        ],
+        'block comment' : [
+            (r'[^*-]+', Comment.Multiline),
+            (r'\*-', Comment.Multiline, '#pop'),
+            (r'[*-]', Comment.Multiline)
+        ],
+        'quote string' : [
+            (r'[^\\"]+', String),
+            (r'"', String, '#pop'),
+            (r'\\"?', String),
+        ],
+        'slash string' : [
+            (r'[^/]+', String),
+            (r'(//)+(?!/)', String),
+            (r'/(//)+(?!/)', String, '#pop'),
+            (r'/', String)
+        ]
+    }
index 3e317e819e747b1f471090473c1bccbbd68740ab..d9027f3c288e58a31381f35ba84503f201edb408 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Makefiles and similar.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -125,11 +125,12 @@ class BaseMakefileLexer(RegexLexer):
 
 class CMakeLexer(RegexLexer):
     """
-    Lexer for `CMake <http://cmake.org/Wiki/CMake>`_ files.
+    Lexer for CMake files.
 
     .. versionadded:: 1.2
     """
     name = 'CMake'
+    url = 'https://cmake.org/documentation/'
     aliases = ['cmake']
     filenames = ['*.cmake', 'CMakeLists.txt']
     mimetypes = ['text/x-cmake']
index e1a8429ef08949137f994c7116682d0bec0161fd..47feaeb68463207362aea5a4c8f08b538e3a3a21 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for non-HTML markup languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -106,7 +106,7 @@ class MoinWikiLexer(RegexLexer):
 
 class RstLexer(RegexLexer):
     """
-    For `reStructuredText <http://docutils.sf.net/rst.html>`_ markup.
+    For reStructuredText markup.
 
     .. versionadded:: 0.7
 
@@ -121,6 +121,7 @@ class RstLexer(RegexLexer):
         .. versionadded:: 0.8
     """
     name = 'reStructuredText'
+    url = 'https://docutils.sourceforge.io/rst.html'
     aliases = ['restructuredtext', 'rst', 'rest']
     filenames = ['*.rst', '*.rest']
     mimetypes = ["text/x-rst", "text/prs.fallenstein.rst"]
@@ -497,11 +498,12 @@ class MozPreprocCssLexer(DelegatingLexer):
 
 class MarkdownLexer(RegexLexer):
     """
-    For `Markdown <https://help.github.com/categories/writing-on-github/>`_ markup.
+    For Markdown markup.
 
     .. versionadded:: 2.2
     """
     name = 'Markdown'
+    url = 'https://daringfireball.net/projects/markdown/'
     aliases = ['markdown', 'md']
     filenames = ['*.md', '*.markdown']
     mimetypes = ["text/x-markdown"]
@@ -606,11 +608,12 @@ class MarkdownLexer(RegexLexer):
 
 class TiddlyWiki5Lexer(RegexLexer):
     """
-    For `TiddlyWiki5 <https://tiddlywiki.com/#TiddlerFiles>`_ markup.
+    For TiddlyWiki5 markup.
 
     .. versionadded:: 2.7
     """
     name = 'tiddler'
+    url = 'https://tiddlywiki.com/#TiddlerFiles'
     aliases = ['tid']
     filenames = ['*.tid']
     mimetypes = ["text/vnd.tiddlywiki"]
index 88f810e70fee5862add2f417456e9c885417445d..22144fadf62c25a1df5930633a1c056d1dde6f94 100644 (file)
@@ -4,7 +4,7 @@
 
     Just export lexers that were contained in this module.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 445063935bb0c61332de5dc7b80c8aed71a5e59a..7790a2ab4cac28c1d7a2ae71af8eb1ae6cae7910 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Matlab and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -2815,6 +2815,7 @@ class OctaveLexer(RegexLexer):
     .. versionadded:: 1.5
     """
     name = 'Octave'
+    url = 'https://www.gnu.org/software/octave/index'
     aliases = ['octave']
     filenames = ['*.m']
     mimetypes = ['text/octave']
@@ -3232,6 +3233,7 @@ class ScilabLexer(RegexLexer):
     .. versionadded:: 1.5
     """
     name = 'Scilab'
+    url = 'https://www.scilab.org/'
     aliases = ['scilab']
     filenames = ['*.sci', '*.sce', '*.tst']
     mimetypes = ['text/scilab']
index 73b9eea15b960bd1e7a83a07e2a5a42248777416..214e24e71dd7f50593fff45e319caf3503aefd03 100644 (file)
@@ -6,7 +6,7 @@
 
     Derived from pygments/lexers/algebra.py.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,12 +20,13 @@ __all__ = ['MaximaLexer']
 
 class MaximaLexer(RegexLexer):
     """
-    A `Maxima <http://maxima.sourceforge.net>`_ lexer.
+    A Maxima lexer.
     Derived from pygments.lexers.MuPADLexer.
 
     .. versionadded:: 2.11
     """
     name = 'Maxima'
+    url = 'http://maxima.sourceforge.net'
     aliases = ['maxima', 'macsyma']
     filenames = ['*.mac', '*.max']
 
diff --git a/pygments/lexers/mcfunction.py b/pygments/lexers/mcfunction.py
new file mode 100644 (file)
index 0000000..b05e21d
--- /dev/null
@@ -0,0 +1,324 @@
+"""
+    pygments.lexers.mcfunction
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Lexers for MCFunction and related languages.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, default, include, bygroups
+from pygments.token import (Comment, Keyword, Literal, Name, Number,
+                            Operator, Punctuation, String, Text, Token,
+                            Whitespace)
+
+
+__all__ = ['SNBTLexer', 'MCFunctionLexer']
+
+
+class SNBTLexer(RegexLexer):
+    """Lexer for stringified NBT, a data format used in Minecraft
+
+    .. versionadded:: 2.12.0
+    """
+
+    name = "SNBT"
+    url = "https://minecraft.fandom.com/wiki/NBT_format"
+    aliases = ["snbt"]
+    filenames = ["*.snbt"]
+    mimetypes = ["text/snbt"]
+
+    tokens = {
+        "root": [
+            # We only look for the open bracket here since square bracket
+            #  is only valid in NBT pathing (which is a mcfunction idea).
+            (r"\{", Punctuation, "compound"),
+            (r"[^\{]+", Text),
+        ],
+
+        "whitespace": [
+            (r"\s+", Whitespace),
+        ],
+
+        "operators": [
+            (r"[,:;]", Punctuation),
+        ],
+
+        "literals": [
+            (r"(true|false)", Keyword.Constant),
+            (r"-?\d+[eE]-?\d+", Number.Float),
+            (r"-?\d*\.\d+[fFdD]?", Number.Float),
+            (r"-?\d+[bBsSlLfFdD]?", Number.Integer),
+
+            # Separate states for both types of strings so they don't entangle
+            (r'"', String.Double, "literals.string_double"),
+            (r"'", String.Single, "literals.string_single"),
+        ],
+        "literals.string_double": [
+            (r"\\.", String.Escape),
+            (r'[^\\"\n]+', String.Double),
+            (r'"', String.Double, "#pop"),
+        ],
+        "literals.string_single": [
+            (r"\\.", String.Escape),
+            (r"[^\\'\n]+", String.Single),
+            (r"'", String.Single, "#pop"),
+        ],
+
+        "compound": [
+            # this handles the unquoted snbt keys
+            #  note: stringified keys still work
+            (r"[A-Z_a-z]+", Name.Attribute),
+            include("operators"),
+            include("whitespace"),
+            include("literals"),
+            (r"\{", Punctuation, "#push"),
+            (r"\[", Punctuation, "list"),
+            (r"\}", Punctuation, "#pop"),
+        ],
+
+        "list": [
+            (r"[A-Z_a-z]+", Name.Attribute),
+            include("literals"),
+            include("operators"),
+            include("whitespace"),
+            (r"\[", Punctuation, "#push"),
+            (r"\{", Punctuation, "compound"),
+            (r"\]", Punctuation, "#pop"),
+        ],
+    }
+
+
+class MCFunctionLexer(RegexLexer):
+    """Lexer for the mcfunction scripting language used in Minecraft
+    Modelled somewhat after the `GitHub mcfunction grammar <https://github.com/Arcensoth/language-mcfunction>`_.
+
+    .. versionadded:: 2.12.0
+    """
+
+    name = "MCFunction"
+    url = "https://minecraft.fandom.com/wiki/Commands"
+    aliases = ["mcfunction", "mcf"]
+    filenames = ["*.mcfunction"]
+    mimetypes = ["text/mcfunction"]
+
+    # Used to denotate the start of a block comment, borrowed from Github's mcfunction
+    _block_comment_prefix = "[>!]"
+
+    tokens = {
+        "root": [
+            include("names"),
+            include("comments"),
+            include("literals"),
+            include("whitespace"),
+            include("property"),
+            include("operators"),
+            include("selectors"),
+        ],
+
+        "names": [
+            # The start of a command (either beginning of line OR after the run keyword)
+            #  We don't encode a list of keywords since mods, plugins, or even pre-processors
+            #  may add new commands, so we have a 'close-enough' regex which catches them.
+            (r"^(\s*)([a-z_]+)", bygroups(Whitespace, Name.Builtin)),
+            (r"(?<=run)\s+[a-z_]+", Name.Builtin),
+
+            # UUID
+            (
+                r"\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\b",
+                Name.Variable,
+            ),
+            include("resource-name"),
+            # normal command names and scoreboards
+            #  there's no way to know the differences unfortuntely
+            (r"[A-Za-z_][A-Za-z0-9_.#%$]+", Keyword.Constant),
+            (r"[#%$][A-Za-z0-9_.#%$]+", Name.Variable.Magic),
+        ],
+
+        "resource-name": [
+            (
+                # resource names have to be lowercase
+                r"#?[a-z_][a-z_.-]*:[a-z0-9_./-]+",
+                Name.Function,
+            ),
+            (
+                # similar to above except optional `:``
+                #  a `/` must be present "somewhere"
+                r"#?[a-z0-9_\.\-]+\/[a-z0-9_\.\-\/]+",
+                Name.Function,
+            )
+        ],
+
+        "whitespace": [
+            (r"\s+", Whitespace),
+        ],
+
+        "comments": [
+            (
+                rf"^\s*(#{_block_comment_prefix})",
+                Comment.Multiline,
+                (
+                    "comments.block",
+                    "comments.block.emphasized",
+                ),
+            ),
+            (r"#.*$", Comment.Single),
+        ],
+        "comments.block": [
+            (rf"^\s*#{_block_comment_prefix}", Comment.Multiline, "comments.block.emphasized"),
+            (r"^\s*#", Comment.Multiline, "comments.block.normal"),
+            default("#pop"),
+        ],
+        "comments.block.normal": [
+            include("comments.block.special"),
+            (r"\S+", Comment.Multiline),
+            (r"\n", Text, "#pop"),
+            include("whitespace"),
+        ],
+        "comments.block.emphasized": [
+            include("comments.block.special"),
+            (r"\S+", String.Doc),
+            (r"\n", Text, "#pop"),
+            include("whitespace"),
+        ],
+        "comments.block.special": [
+            # Params
+            (r"@\S+", Name.Decorator),
+
+            include("resource-name"),
+
+            # Scoreboard player names
+            (r"[#%$][A-Za-z0-9_.#%$]+", Name.Variable.Magic),
+        ],
+
+        "operators": [
+            (r"[\-~%^?!+*<>\\/|&=.]", Operator),
+        ],
+
+        "literals": [
+            (r"\.\.", Literal),
+            (r"(true|false)", Keyword.Pseudo),
+
+            # these are like unquoted strings and appear in many places
+            (r"[A-Za-z_]+", Name.Variable.Class),
+
+            (r"[0-7]b", Number.Byte),
+            (r"[+-]?\d*\.?\d+([eE]?[+-]?\d+)?[df]?\b", Number.Float),
+            (r"[+-]?\d+\b", Number.Integer),
+            (r'"', String.Double, "literals.string-double"),
+            (r"'", String.Single, "literals.string-single"),
+        ],
+        "literals.string-double": [
+            (r"\\.", String.Escape),
+            (r'[^\\"\n]+', String.Double),
+            (r'"', String.Double, "#pop"),
+        ],
+        "literals.string-single": [
+            (r"\\.", String.Escape),
+            (r"[^\\'\n]+", String.Single),
+            (r"'", String.Single, "#pop"),
+        ],
+
+        "selectors": [
+            (r"@[a-z]", Name.Variable),
+        ],
+
+        ## Generic Property Container
+        # There are several, differing instances where the language accepts
+        #  specific contained keys or contained key, value pairings.
+        # 
+        # Property Maps:
+        # - Starts with either `[` or `{`
+        # - Key separated by `:` or `=`
+        # - Deliminated by `,`
+        # 
+        # Property Lists:
+        # - Starts with `[`
+        # - Deliminated by `,`
+        # 
+        # For simplicity, these patterns match a generic, nestable structure
+        #  which follow a key, value pattern. For normal lists, there's only keys.
+        # This allow some "illegal" structures, but we'll accept those for
+        #  sake of simplicity
+        # 
+        # Examples:
+        # - `[facing=up, powered=true]` (blockstate)
+        # - `[name="hello world", nbt={key: 1b}]` (selector + nbt)
+        # - `[{"text": "value"}, "literal"]` (json)
+        ##
+        "property": [
+            # This state gets included in root and also several substates
+            # We do this to shortcut the starting of new properties
+            #  within other properties. Lists can have sublists and compounds
+            #  and values can start a new property (see the `difficult_1.txt`
+            #  snippet).
+            (r"\{", Punctuation, ("property.curly", "property.key")),
+            (r"\[", Punctuation, ("property.square", "property.key")),
+        ],
+        "property.curly": [
+            include("whitespace"),
+            include("property"),
+            (r"\}", Punctuation, "#pop"),
+        ],
+        "property.square": [
+            include("whitespace"),
+            include("property"),
+            (r"\]", Punctuation, "#pop"),
+
+            # lists can have sequences of items
+            (r",", Punctuation),
+        ],
+        "property.key": [
+            include("whitespace"),
+
+            # resource names (for advancements)
+            #  can omit `:` to default `minecraft:`
+            # must check if there is a future equals sign if `:` is in the name
+            (r"#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+(?=\s*\=)", Name.Attribute, "property.delimiter"),
+            (r"#?[a-z_][a-z0-9_\.\-/]+", Name.Attribute, "property.delimiter"),
+
+            # unquoted NBT key
+            (r"[A-Za-z_\-\+]+", Name.Attribute, "property.delimiter"),
+
+            # quoted JSON or NBT key
+            (r'"', Name.Attribute, "property.delimiter", "literals.string-double"),
+            (r"'", Name.Attribute, "property.delimiter", "literals.string-single"),
+
+            # index for a list
+            (r"-?\d+", Number.Integer, "property.delimiter"),
+
+            default("#pop"),
+        ],
+        "property.key.string-double": [
+            (r"\\.", String.Escape),
+            (r'[^\\"\n]+', Name.Attribute),
+            (r'"', Name.Attribute, "#pop"),
+        ],
+        "property.key.string-single": [
+            (r"\\.", String.Escape),
+            (r"[^\\'\n]+", Name.Attribute),
+            (r"'", Name.Attribute, "#pop"),
+        ],
+        "property.delimiter": [
+            include("whitespace"),
+            
+            (r"[:=]!?", Punctuation, "property.value"),
+            (r",", Punctuation),
+
+            default("#pop"),
+        ],
+        "property.value": [
+            include("whitespace"),
+
+            # unquoted resource names are valid literals here
+            (r"#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+", Name.Tag),
+            (r"#?[a-z_][a-z0-9_\.\-/]+", Name.Tag),
+
+            include("literals"),
+            include("property"),
+
+            default("#pop"),
+        ],
+    }
index 47db0141870cdc06a865682c7db170ea121c17bd..a05c3776d9fb376fa3ad66780c707f1f0779a819 100644 (file)
@@ -4,7 +4,7 @@
 
     Pygments lexer for the Meson build system
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -31,7 +31,7 @@ __all__ = ['MesonLexer']
 
 class MesonLexer(RegexLexer):
     """
-    `meson <https://mesonbuild.com/>`_ language lexer.
+    `meson 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++
@@ -44,12 +44,11 @@ class MesonLexer(RegexLexer):
     # TODO keyword_arg: value inner matches
 
     name = 'Meson'
+    url = 'https://mesonbuild.com/'
     aliases = ['meson', 'meson.build']
     filenames = ['meson.build', 'meson_options.txt']
     mimetypes = ['text/x-meson']
 
-    flags = re.MULTILINE | re.UNICODE
-
     tokens = {
         'root': [
             (r'#.*?$', Comment),
index 6dcc81556e857df910ac19e28d9cdc0e971fe9c3..0a2db093fe4f347dc9bdffaae87696e5ca93dd67 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Multipurpose Internet Mail Extensions (MIME) data.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -88,7 +88,7 @@ class MIMELexer(RegexLexer):
             pos_body_start = pos_body_start + 1
             entire_body = entire_body[1:]
 
-        # if it is not a mulitpart
+        # if it is not a multipart
         if not self.content_type.startswith("multipart") or not self.boundary:
             for i, t, v in self.get_bodypart_tokens(entire_body):
                 yield pos_body_start + i, t, v
index 60bd8b9dbc025f940e8b60f27eabf72b8e1cf4f3..614e4eb4649777d7174d0cbd437e71b32b9609d0 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for ML family languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -55,7 +55,7 @@ class SMLLexer(RegexLexer):
     # A character constant is a sequence of the form #s, where s is a string
     # constant denoting a string of size one character. This setup just parses
     # the entire string as either a String.Double or a String.Char (depending
-    # on the argument), even if the String.Char is an erronous
+    # on the argument), even if the String.Char is an erroneous
     # multiple-character string.
     def stringy(whatkind):
         return [
@@ -360,6 +360,7 @@ class OcamlLexer(RegexLexer):
     """
 
     name = 'OCaml'
+    url = 'https://ocaml.org/'
     aliases = ['ocaml']
     filenames = ['*.ml', '*.mli', '*.mll', '*.mly']
     mimetypes = ['text/x-ocaml']
@@ -446,7 +447,7 @@ class OcamlLexer(RegexLexer):
 
 class OpaLexer(RegexLexer):
     """
-    Lexer for the Opa language (http://opalang.org).
+    Lexer for the Opa language.
 
     .. versionadded:: 1.5
     """
@@ -769,12 +770,13 @@ class OpaLexer(RegexLexer):
 
 class ReasonLexer(RegexLexer):
     """
-    For the ReasonML language (https://reasonml.github.io/).
+    For the ReasonML language.
 
     .. versionadded:: 2.6
     """
 
     name = 'ReasonML'
+    url = 'https://reasonml.github.io/'
     aliases = ['reasonml', 'reason']
     filenames = ['*.re', '*.rei']
     mimetypes = ['text/x-reasonml']
@@ -861,11 +863,12 @@ class ReasonLexer(RegexLexer):
 
 class FStarLexer(RegexLexer):
     """
-    For the F* language (https://www.fstar-lang.org/).
+    For the F* language.
     .. versionadded:: 2.7
     """
 
     name = 'FStar'
+    url = 'https://www.fstar-lang.org/'
     aliases = ['fstar']
     filenames = ['*.fst', '*.fsti']
     mimetypes = ['text/x-fstar']
index b00a7f10b3e584cb63192c0dc1a3cfa1b6cbc3a0..56448f50361ee6c86242e42cba8d73ceb685a5fc 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for modeling languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -22,11 +22,12 @@ __all__ = ['ModelicaLexer', 'BugsLexer', 'JagsLexer', 'StanLexer']
 
 class ModelicaLexer(RegexLexer):
     """
-    For `Modelica <http://www.modelica.org/>`_ source code.
+    For Modelica source code.
 
     .. versionadded:: 1.1
     """
     name = 'Modelica'
+    url = 'http://www.modelica.org/'
     aliases = ['modelica']
     filenames = ['*.mo']
     mimetypes = ['text/x-modelica']
@@ -97,7 +98,7 @@ class ModelicaLexer(RegexLexer):
 
 class BugsLexer(RegexLexer):
     """
-    Pygments Lexer for `OpenBugs <http://www.openbugs.net/>`_ and WinBugs
+    Pygments Lexer for OpenBugs and WinBugs
     models.
 
     .. versionadded:: 1.6
@@ -303,7 +304,6 @@ class StanLexer(RegexLexer):
             (r'(//|#).*$', Comment.Single),
         ],
         'root': [
-            # Stan is more restrictive on strings than this regex
             (r'"[^"]*"', String),
             # Comments
             include('comments'),
@@ -325,7 +325,7 @@ class StanLexer(RegexLexer):
             (r'(%s)\b' % r'|'.join(_stan_builtins.TYPES), Keyword.Type),
              # < should be punctuation, but elsewhere I can't tell if it is in
              # a range constraint
-            (r'(<)(\s*)(upper|lower)(\s*)(=)',
+            (r'(<)(\s*)(upper|lower|offset|multiplier)(\s*)(=)',
              bygroups(Operator, Whitespace, Keyword, Whitespace, Punctuation)),
             (r'(,)(\s*)(upper)(\s*)(=)',
              bygroups(Punctuation, Whitespace, Keyword, Whitespace, Punctuation)),
@@ -340,17 +340,21 @@ class StanLexer(RegexLexer):
             (r'(%s)\b' % r'|'.join(_stan_builtins.RESERVED), Keyword.Reserved),
             # user-defined functions
             (r'[A-Za-z]\w*(?=\s*\()]', Name.Function),
-            # Regular variable names
-            (r'[A-Za-z]\w*\b', Name),
+            # Imaginary Literals
+            (r'[0-9]+(\.[0-9]*)?([eE][+-]?[0-9]+)?i', Number.Float),
+            (r'\.[0-9]+([eE][+-]?[0-9]+)?i', Number.Float),
+            (r'[0-9]+i', Number.Float),
             # Real Literals
             (r'[0-9]+(\.[0-9]*)?([eE][+-]?[0-9]+)?', Number.Float),
             (r'\.[0-9]+([eE][+-]?[0-9]+)?', Number.Float),
             # Integer Literals
             (r'[0-9]+', Number.Integer),
+            # Regular variable names
+            (r'[A-Za-z]\w*\b', Name),
             # Assignment operators
             (r'<-|(?:\+|-|\.?/|\.?\*|=)?=|~', Operator),
             # Infix, prefix and postfix operators (and = )
-            (r"\+|-|\.?\*|\.?/|\\|'|\^|!=?|<=?|>=?|\|\||&&|%|\?|:", Operator),
+            (r"\+|-|\.?\*|\.?/|\\|'|\.?\^|!=?|<=?|>=?|\|\||&&|%|\?|:|%/%|!", Operator),
             # Block delimiters
             (r'[{}]', Punctuation),
             # Distribution |
index cad2f4fd40864a1777424d8348bda725dbc1963f..a94d48632ace75ea22f138215b2aa4214f5fc2be 100644 (file)
@@ -4,7 +4,7 @@
 
     Multi-Dialect Lexer for Modula-2.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -21,7 +21,7 @@ __all__ = ['Modula2Lexer']
 # Multi-Dialect Modula-2 Lexer
 class Modula2Lexer(RegexLexer):
     """
-    For `Modula-2 <http://www.modula2.org/>`_ source code.
+    For Modula-2 source code.
 
     The Modula-2 lexer supports several dialects.  By default, it operates in
     fallback mode, recognising the *combined* literals, punctuation symbols
@@ -159,6 +159,7 @@ class Modula2Lexer(RegexLexer):
        Added multi-dialect support.
     """
     name = 'Modula-2'
+    url = 'http://www.modula2.org/'
     aliases = ['modula2', 'm2']
     filenames = ['*.def', '*.mod']
     mimetypes = ['text/x-modula2']
index 4cd83241dd0613e164cdcae4222099ca1491ed6f..e22fb93592e90bd858a0cbd821802c613c1eb903 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Monte programming language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -77,11 +77,12 @@ _safeScope = [
 
 class MonteLexer(RegexLexer):
     """
-    Lexer for the `Monte <https://monte.readthedocs.io/>`_ programming language.
+    Lexer for the Monte programming language.
 
     .. versionadded:: 2.2
     """
     name = 'Monte'
+    url = 'https://monte.readthedocs.io/'
     aliases = ['monte']
     filenames = ['*.mt']
 
index 62cb3b4c162105cd46ad60c59fb802dd0bfae351..1214ba40b7e755702d799bdcbfc77450d1bf4040 100644 (file)
@@ -5,7 +5,7 @@
     Lexers for the mosel language.
     http://www.fico.com/en/products/fico-xpress-optimization
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index f9df40bdeb3ce0af2d92b5309dba882ce94bd5ef..30cc510f8abc2452012f615e0664255037ea10ac 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for NCAR Command Language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index ce6ba875377bdc7b0519f524ea58ccb2a1e4a846..b94d18f05ca84ae3f205e9e918648fe2f306212a 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Nim language (formerly known as Nimrod).
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,17 +19,18 @@ __all__ = ['NimrodLexer']
 
 class NimrodLexer(RegexLexer):
     """
-    For `Nim <http://nim-lang.org/>`_ source code.
+    For Nim source code.
 
     .. versionadded:: 1.5
     """
 
     name = 'Nimrod'
+    url = 'http://nim-lang.org/'
     aliases = ['nimrod', 'nim']
     filenames = ['*.nim', '*.nimrod']
     mimetypes = ['text/x-nim']
 
-    flags = re.MULTILINE | re.IGNORECASE | re.UNICODE
+    flags = re.MULTILINE | re.IGNORECASE
 
     def underscorize(words):
         newWords = []
index 7a15d78f995657083371949cb9ec000b744ef28c..5c9757413fbe7b7df6ca7c1b36dd55f5462f2368 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Nit language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,12 +17,13 @@ __all__ = ['NitLexer']
 
 class NitLexer(RegexLexer):
     """
-    For `nit <http://nitlanguage.org>`_ source.
+    For nit source.
 
     .. versionadded:: 2.0
     """
 
     name = 'Nit'
+    url = 'http://nitlanguage.org'
     aliases = ['nit']
     filenames = ['*.nit']
     tokens = {
index bd7afe74406799bd7bcf87dfd225a35e8da19883..83731c7b1a6e9d5ed1eb491c3627c4db315f66c6 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the NixOS Nix language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,18 +19,17 @@ __all__ = ['NixLexer']
 
 class NixLexer(RegexLexer):
     """
-    For the `Nix language <http://nixos.org/nix/>`_.
+    For the Nix language.
 
     .. versionadded:: 2.0
     """
 
     name = 'Nix'
+    url = 'http://nixos.org/nix/'
     aliases = ['nixos', 'nix']
     filenames = ['*.nix']
     mimetypes = ['text/x-nix']
 
-    flags = re.MULTILINE | re.UNICODE
-
     keywords = ['rec', 'with', 'let', 'in', 'inherit', 'assert', 'if',
                 'else', 'then', '...']
     builtins = ['import', 'abort', 'baseNameOf', 'dirOf', 'isNull', 'builtins',
index 7010e910b5e3cf15909199561fc08ed813b3ac75..da7a248416e02ac65b53db57c7ce660e292469fe 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Oberon family languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,7 +19,7 @@ __all__ = ['ComponentPascalLexer']
 
 class ComponentPascalLexer(RegexLexer):
     """
-    For `Component Pascal <http://www.oberon.ch/pdf/CP-Lang.pdf>`_ source code.
+    For Component Pascal source code.
 
     .. versionadded:: 2.1
     """
index a4cc44b3873c19aa67dd204b410fa1b6f9292c11..bbe949622d1aeeea367ce675d6d82324edbedae2 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Objective-C family languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -197,6 +197,7 @@ class ObjectiveCLexer(objective(CLexer)):
     """
 
     name = 'Objective-C'
+    url = 'https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html'
     aliases = ['objective-c', 'objectivec', 'obj-c', 'objc']
     filenames = ['*.m', '*.h']
     mimetypes = ['text/x-objective-c']
@@ -281,11 +282,12 @@ class LogosLexer(ObjectiveCppLexer):
 
 class SwiftLexer(RegexLexer):
     """
-    For `Swift <https://developer.apple.com/swift/>`_ source.
+    For Swift source.
 
     .. versionadded:: 2.0
     """
     name = 'Swift'
+    url = 'https://www.swift.org/'
     filenames = ['*.swift']
     aliases = ['swift']
     mimetypes = ['text/x-swift']
index 0c74cdec4b186568fd77354ee8d84c07098f8960..5b1df2c75ec09a82c9ea517931f2bfd08ec68cb8 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Ooc language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,11 +17,12 @@ __all__ = ['OocLexer']
 
 class OocLexer(RegexLexer):
     """
-    For `Ooc <http://ooc-lang.org/>`_ source code
+    For Ooc source code
 
     .. versionadded:: 1.2
     """
     name = 'Ooc'
+    url = 'http://ooc-lang.org/'
     aliases = ['ooc']
     filenames = ['*.ooc']
     mimetypes = ['text/x-ooc']
index b0930088e62611ad3203a2863dada1a9c51b8dc8..6c73c01d6155c43e9a33dfa37ebebe4e87ff19e2 100644 (file)
@@ -4,7 +4,7 @@
 
     Just export lexer classes previously contained in this module.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 49d8d672e1f1236c5b16ac115f9c348590abcc60..de50c65bb4b0eeeb86eafe7f2214276eff30bf1a 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for ParaSail.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,12 +19,13 @@ __all__ = ['ParaSailLexer']
 
 class ParaSailLexer(RegexLexer):
     """
-    For `ParaSail <http://www.parasail-lang.org>`_ source code.
+    For ParaSail source code.
 
     .. versionadded:: 2.1
     """
 
     name = 'ParaSail'
+    url = 'http://www.parasail-lang.org'
     aliases = ['parasail']
     filenames = ['*.psi', '*.psl']
     mimetypes = ['text/x-parasail']
index 0009082fc47a94a06f523803fac371ba79ebeb22..80ef08904e7d49f6d3d9ecc8665cf09c19f393bf 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for parser generators.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -34,7 +34,7 @@ __all__ = ['RagelLexer', 'RagelEmbeddedLexer', 'RagelCLexer', 'RagelDLexer',
 
 class RagelLexer(RegexLexer):
     """
-    A pure `Ragel <http://www.complang.org/ragel/>`_ lexer.  Use this for
+    A pure Ragel lexer.  Use this for
     fragments of Ragel.  For ``.rl`` files, use RagelEmbeddedLexer instead
     (or one of the language-specific subclasses).
 
@@ -42,6 +42,7 @@ class RagelLexer(RegexLexer):
     """
 
     name = 'Ragel'
+    url = 'http://www.colm.net/open-source/ragel/'
     aliases = ['ragel']
     filenames = []
 
index 0d1ac3fdb7a23a6cee32d02a32fa243175842ef2..2253a22e7cb4f36ca7ad86a747f6ee3ce0f620d9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Pascal family languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,12 +20,12 @@ from pygments.scanner import Scanner
 # compatibility import
 from pygments.lexers.modula2 import Modula2Lexer
 
-__all__ = ['DelphiLexer', 'AdaLexer']
+__all__ = ['DelphiLexer']
 
 
 class DelphiLexer(Lexer):
     """
-    For `Delphi <http://www.borland.com/delphi/>`_ (Borland Object Pascal),
+    For Delphi (Borland Object Pascal),
     Turbo Pascal and Free Pascal source code.
 
     Additional options accepted:
@@ -363,7 +363,7 @@ class DelphiLexer(Lexer):
                     elif lowercase_name in self.keywords:
                         token = Keyword
                         # if we are in a special block and a
-                        # block ending keyword occours (and the parenthesis
+                        # block ending keyword occurs (and the parenthesis
                         # is balanced) we end the current block context
                         if (in_function_block or in_property_block) and \
                            lowercase_name in self.BLOCK_KEYWORDS and \
@@ -505,139 +505,3 @@ class DelphiLexer(Lexer):
             if scanner.match.strip():
                 was_dot = scanner.match == '.'
             yield scanner.start_pos, token, scanner.match or ''
-
-
-class AdaLexer(RegexLexer):
-    """
-    For Ada source code.
-
-    .. versionadded:: 1.3
-    """
-
-    name = 'Ada'
-    aliases = ['ada', 'ada95', 'ada2005']
-    filenames = ['*.adb', '*.ads', '*.ada']
-    mimetypes = ['text/x-ada']
-
-    flags = re.MULTILINE | re.IGNORECASE
-
-    tokens = {
-        'root': [
-            (r'[^\S\n]+', Text),
-            (r'--.*?\n', Comment.Single),
-            (r'[^\S\n]+', Text),
-            (r'function|procedure|entry', Keyword.Declaration, 'subprogram'),
-            (r'(subtype|type)(\s+)(\w+)',
-             bygroups(Keyword.Declaration, Text, Keyword.Type), 'type_def'),
-            (r'task|protected', Keyword.Declaration),
-            (r'(subtype)(\s+)', bygroups(Keyword.Declaration, Text)),
-            (r'(end)(\s+)', bygroups(Keyword.Reserved, Text), 'end'),
-            (r'(pragma)(\s+)(\w+)', bygroups(Keyword.Reserved, Text,
-                                             Comment.Preproc)),
-            (r'(true|false|null)\b', Keyword.Constant),
-            (words((
-                'Address', 'Byte', 'Boolean', 'Character', 'Controlled', 'Count',
-                'Cursor', 'Duration', 'File_Mode', 'File_Type', 'Float', 'Generator',
-                'Integer', 'Long_Float', 'Long_Integer', 'Long_Long_Float',
-                'Long_Long_Integer', 'Natural', 'Positive', 'Reference_Type',
-                'Short_Float', 'Short_Integer', 'Short_Short_Float',
-                'Short_Short_Integer', 'String', 'Wide_Character', 'Wide_String'),
-                   suffix=r'\b'),
-             Keyword.Type),
-            (r'(and(\s+then)?|in|mod|not|or(\s+else)|rem)\b', Operator.Word),
-            (r'generic|private', Keyword.Declaration),
-            (r'package', Keyword.Declaration, 'package'),
-            (r'array\b', Keyword.Reserved, 'array_def'),
-            (r'(with|use)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
-            (r'(\w+)(\s*)(:)(\s*)(constant)',
-             bygroups(Name.Constant, Text, Punctuation, Text,
-                      Keyword.Reserved)),
-            (r'<<\w+>>', Name.Label),
-            (r'(\w+)(\s*)(:)(\s*)(declare|begin|loop|for|while)',
-             bygroups(Name.Label, Text, Punctuation, Text, Keyword.Reserved)),
-            (words((
-                'abort', 'abs', 'abstract', 'accept', 'access', 'aliased', 'all',
-                'array', 'at', 'begin', 'body', 'case', 'constant', 'declare',
-                'delay', 'delta', 'digits', 'do', 'else', 'elsif', 'end', 'entry',
-                'exception', 'exit', 'interface', 'for', 'goto', 'if', 'is', 'limited',
-                'loop', 'new', 'null', 'of', 'or', 'others', 'out', 'overriding',
-                'pragma', 'protected', 'raise', 'range', 'record', 'renames', 'requeue',
-                'return', 'reverse', 'select', 'separate', 'some', 'subtype',
-                'synchronized', 'task', 'tagged', 'terminate', 'then', 'type', 'until',
-                'when', 'while', 'xor'), prefix=r'\b', suffix=r'\b'),
-             Keyword.Reserved),
-            (r'"[^"]*"', String),
-            include('attribute'),
-            include('numbers'),
-            (r"'[^']'", String.Character),
-            (r'(\w+)(\s*|[(,])', bygroups(Name, using(this))),
-            (r"(<>|=>|:=|[()|:;,.'])", Punctuation),
-            (r'[*<>+=/&-]', Operator),
-            (r'\n+', Text),
-        ],
-        'numbers': [
-            (r'[0-9_]+#[0-9a-f_\.]+#', Number.Hex),
-            (r'[0-9_]+\.[0-9_]*', Number.Float),
-            (r'[0-9_]+', Number.Integer),
-        ],
-        'attribute': [
-            (r"(')(\w+)", bygroups(Punctuation, Name.Attribute)),
-        ],
-        'subprogram': [
-            (r'\(', Punctuation, ('#pop', 'formal_part')),
-            (r';', Punctuation, '#pop'),
-            (r'is\b', Keyword.Reserved, '#pop'),
-            (r'"[^"]+"|\w+', Name.Function),
-            include('root'),
-        ],
-        'end': [
-            ('(if|case|record|loop|select)', Keyword.Reserved),
-            (r'"[^"]+"|[\w.]+', Name.Function),
-            (r'\s+', Text),
-            (';', Punctuation, '#pop'),
-        ],
-        'type_def': [
-            (r';', Punctuation, '#pop'),
-            (r'\(', Punctuation, 'formal_part'),
-            (r'with|and|use', Keyword.Reserved),
-            (r'array\b', Keyword.Reserved, ('#pop', 'array_def')),
-            (r'record\b', Keyword.Reserved, ('record_def')),
-            (r'(null record)(;)', bygroups(Keyword.Reserved, Punctuation), '#pop'),
-            include('root'),
-        ],
-        'array_def': [
-            (r';', Punctuation, '#pop'),
-            (r'(\w+)(\s+)(range)', bygroups(Keyword.Type, Text, Keyword.Reserved)),
-            include('root'),
-        ],
-        'record_def': [
-            (r'end record', Keyword.Reserved, '#pop'),
-            include('root'),
-        ],
-        'import': [
-            (r'[\w.]+', Name.Namespace, '#pop'),
-            default('#pop'),
-        ],
-        'formal_part': [
-            (r'\)', Punctuation, '#pop'),
-            (r'\w+', Name.Variable),
-            (r',|:[^=]', Punctuation),
-            (r'(in|not|null|out|access)\b', Keyword.Reserved),
-            include('root'),
-        ],
-        'package': [
-            ('body', Keyword.Declaration),
-            (r'is\s+new|renames', Keyword.Reserved),
-            ('is', Keyword.Reserved, '#pop'),
-            (';', Punctuation, '#pop'),
-            (r'\(', Punctuation, 'package_instantiation'),
-            (r'([\w.]+)', Name.Class),
-            include('root'),
-        ],
-        'package_instantiation': [
-            (r'("[^"]+"|\w+)(\s+)(=>)', bygroups(Name.Variable, Text, Punctuation)),
-            (r'[\w.\'"]', Text),
-            (r'\)', Punctuation, '#pop'),
-            include('root'),
-        ],
-    }
index 5a303e494972e011abbae5e51cadf8a6c50d2572..41b19dae7931f1a75ec5d9e95780b11d95a32f90 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Pawn languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index bac325bb45f3817a273fdc00375e5c12135b2812..3689fc7aadd317e491d6ba4606c4f54f4881b357 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Perl, Raku and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -21,10 +21,11 @@ __all__ = ['PerlLexer', 'Perl6Lexer']
 
 class PerlLexer(RegexLexer):
     """
-    For `Perl <https://www.perl.org>`_ source code.
+    For Perl source code.
     """
 
     name = 'Perl'
+    url = 'https://www.perl.org'
     aliases = ['perl', 'pl']
     filenames = ['*.pl', '*.pm', '*.t', '*.perl']
     mimetypes = ['text/x-perl', 'application/x-perl']
@@ -223,18 +224,19 @@ class PerlLexer(RegexLexer):
 
 class Perl6Lexer(ExtendedRegexLexer):
     """
-    For `Raku <https://www.raku.org>`_ (a.k.a. Perl 6) source code.
+    For Raku (a.k.a. Perl 6) source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'Perl6'
+    url = 'https://www.raku.org'
     aliases = ['perl6', 'pl6', 'raku']
     filenames = ['*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6',
                  '*.6pm', '*.p6m', '*.pm6', '*.t', '*.raku', '*.rakumod',
                  '*.rakutest', '*.rakudoc']
     mimetypes = ['text/x-perl6', 'application/x-perl6']
-    flags = re.MULTILINE | re.DOTALL | re.UNICODE
+    flags = re.MULTILINE | re.DOTALL
 
     PERL6_IDENTIFIER_RANGE = r"['\w:-]"
 
index 3ba299ac0a404e8abddefcf8d31b09b7323808ba..5f2ac12a0560daffaff8b719a681f87cb979c088 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for PHP and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -23,7 +23,7 @@ line_re = re.compile('.*?\n')
 
 class ZephirLexer(RegexLexer):
     """
-    For `Zephir language <http://zephir-lang.com/>`_ source code.
+    For Zephir language source code.
 
     Zephir is a compiled high level language aimed
     to the creation of C-extensions for PHP.
@@ -32,6 +32,7 @@ class ZephirLexer(RegexLexer):
     """
 
     name = 'Zephir'
+    url = 'http://zephir-lang.com/'
     aliases = ['zephir']
     filenames = ['*.zep']
 
@@ -71,7 +72,7 @@ class ZephirLexer(RegexLexer):
             (r'(abstract|boolean|bool|char|class|const|double|enum|export|extends|final|'
              r'native|goto|implements|import|int|string|interface|long|ulong|char|uchar|'
              r'float|unsigned|private|protected|public|short|static|self|throws|reverse|'
-             r'transient|volatile)\b', Keyword.Reserved),
+             r'transient|volatile|readonly)\b', Keyword.Reserved),
             (r'(true|false|null|undefined)\b', Keyword.Constant),
             (r'(Array|Boolean|Date|_REQUEST|_COOKIE|_SESSION|'
              r'_GET|_POST|_SERVER|this|stdClass|range|count|iterator|'
@@ -88,7 +89,7 @@ class ZephirLexer(RegexLexer):
 
 class PsyshConsoleLexer(Lexer):
     """
-    For `PsySH`_ console output, such as:
+    For PsySH console output, such as:
 
     .. sourcecode:: psysh
 
@@ -99,10 +100,10 @@ class PsyshConsoleLexer(Lexer):
         >>> $greeting('World')
         => "Hello, World"
 
-    .. _PsySH: https://psysh.org/
     .. versionadded:: 2.7
     """
     name = 'PsySH console session for PHP'
+    url = 'https://psysh.org/'
     aliases = ['psysh']
 
     def __init__(self, **options):
@@ -137,7 +138,7 @@ class PsyshConsoleLexer(Lexer):
 
 class PhpLexer(RegexLexer):
     """
-    For `PHP <http://www.php.net/>`_ source code.
+    For PHP source code.
     For PHP embedded in HTML, use the `HtmlPhpLexer`.
 
     Additional options accepted:
@@ -169,6 +170,7 @@ class PhpLexer(RegexLexer):
     """
 
     name = 'PHP'
+    url = 'https://www.php.net/'
     aliases = ['php', 'php3', 'php4', 'php5']
     filenames = ['*.php', '*.php[345]', '*.inc']
     mimetypes = ['text/x-php']
@@ -221,7 +223,7 @@ class PhpLexer(RegexLexer):
              r'array|E_ALL|NULL|final|php_user_filter|interface|'
              r'implements|public|private|protected|abstract|clone|try|'
              r'catch|throw|this|use|namespace|trait|yield|'
-             r'finally)\b', Keyword),
+             r'finally|match)\b', Keyword),
             (r'(true|false|null)\b', Keyword.Constant),
             include('magicconstants'),
             (r'\$\{\$+' + _ident_inner + r'\}', Name.Variable),
index c340107374f4adbe589fe19f7e2d7122a256a163..9fea7ea3e3b2677413f8998e7d976ecb70ad6232 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Pointless.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,12 +17,13 @@ __all__ = ['PointlessLexer']
 
 class PointlessLexer(RegexLexer):
     """
-    For `Pointless <https://ptls.dev>`_ source code.
+    For Pointless source code.
 
     .. versionadded:: 2.7
     """
 
     name = 'Pointless'
+    url = 'https://ptls.dev'
     aliases = ['pointless']
     filenames = ['*.ptls']
 
index 0cd5dbd3df86c826a2f03feb9886129d4e72f757..014f8f87355ac476daa1ee894653ec845b3956cb 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Pony and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 8fbae8c520972114f4640764abfa8f4bf2ffeca4..834f15b7b2d82c00f77ba726819844f0678a4902 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Praat
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,12 +17,13 @@ __all__ = ['PraatLexer']
 
 class PraatLexer(RegexLexer):
     """
-    For `Praat <http://www.praat.org>`_ scripts.
+    For Praat scripts.
 
     .. versionadded:: 2.1
     """
 
     name = 'Praat'
+    url = 'http://www.praat.org'
     aliases = ['praat']
     filenames = ['*.praat', '*.proc', '*.psc']
 
@@ -287,7 +288,7 @@ class PraatLexer(RegexLexer):
             (r'(boolean)(\s+\S+\s*)(0|1|"?(?:yes|no)"?)',
              bygroups(Keyword, Text, Name.Variable)),
 
-            # Ideally processing of the number would happend in the 'number'
+            # Ideally processing of the number would happen in the 'number'
             # but that doesn't seem to work
             (r'(real|natural|positive|integer)([ \t]+\S+[ \t]*)([+-]?)(\d+(?:\.\d*)?'
              r'(?:[eE][-+]?\d+)?%?)',
index cac0a25440dec47e95c26e54b0d8cef4d5f54fe2..72395ceecd7227d46ee3ecdb07d18ae33ef7f27d 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Procfile file format.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,12 +20,11 @@ class ProcfileLexer(RegexLexer):
 
     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'
+    url = 'https://devcenter.heroku.com/articles/procfile#procfile-format'
     aliases = ['procfile']
     filenames = ['Procfile']
 
index 21c813625dbd4a6fc66e6a7dc6294729d7076ac9..2cdceeddd795ad8d2d94980438943094c3661669 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Prolog and Prolog-like languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -26,8 +26,6 @@ class PrologLexer(RegexLexer):
     filenames = ['*.ecl', '*.prolog', '*.pro', '*.pl']
     mimetypes = ['text/x-prolog']
 
-    flags = re.UNICODE | re.MULTILINE
-
     tokens = {
         'root': [
             (r'/\*', Comment.Multiline, 'nested-comment'),
@@ -85,12 +83,13 @@ class PrologLexer(RegexLexer):
 
 class LogtalkLexer(RegexLexer):
     """
-    For `Logtalk <http://logtalk.org/>`_ source code.
+    For Logtalk source code.
 
     .. versionadded:: 0.10
     """
 
     name = 'Logtalk'
+    url = 'http://logtalk.org/'
     aliases = ['logtalk']
     filenames = ['*.lgt', '*.logtalk']
     mimetypes = ['text/x-logtalk']
@@ -200,9 +199,9 @@ class LogtalkLexer(RegexLexer):
             (r'(>>|<<|/\\|\\\\|\\)', Operator),
             # Predicate aliases
             (r'\bas\b', Operator),
-            # Arithemtic evaluation
+            # Arithmetic evaluation
             (r'\bis\b', Keyword),
-            # Arithemtic comparison
+            # Arithmetic comparison
             (r'(=:=|=\\=|<|=<|>=|>)', Operator),
             # Term creation and decomposition
             (r'=\.\.', Operator),
@@ -213,7 +212,7 @@ class LogtalkLexer(RegexLexer):
             # Evaluable functors
             (r'(//|[-+*/])', Operator),
             (r'\b(e|pi|div|mod|rem)\b', Operator),
-            # Other arithemtic functors
+            # Other arithmetic functors
             (r'\b\*\*\b', Operator),
             # DCG rules
             (r'-->', Operator),
index b9646d46407e51723ccd3d3b1e253c6ca9094a53..1c239a26a72199b666653bc4aba1267a870b7436 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Prometheus Query Language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -25,7 +25,7 @@ __all__ = ["PromQLLexer"]
 
 class PromQLLexer(RegexLexer):
     """
-    For `PromQL <https://prometheus.io/docs/prometheus/latest/querying/basics/>`_ queries.
+    For PromQL queries.
 
     For details about the grammar see:
     https://github.com/prometheus/prometheus/tree/master/promql/parser
@@ -34,6 +34,7 @@ class PromQLLexer(RegexLexer):
     """
 
     name = "PromQL"
+    url = 'https://prometheus.io/docs/prometheus/latest/querying/basics/'
     aliases = ["promql"]
     filenames = ["*.promql"]
 
index 2901d7b9821dcb8f5395145048e7b2dccb206bac..83c5ef4e918b79625e18fa94da250e36b43e85fb 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Python and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -27,7 +27,7 @@ line_re = re.compile('.*?\n')
 
 class PythonLexer(RegexLexer):
     """
-    For `Python <http://www.python.org>`_ source code (version 3.x).
+    For Python source code (version 3.x).
 
     .. versionadded:: 0.10
 
@@ -37,6 +37,7 @@ class PythonLexer(RegexLexer):
     """
 
     name = 'Python'
+    url = 'http://www.python.org'
     aliases = ['python', 'py', 'sage', 'python3', 'py3']
     filenames = [
         '*.py',
@@ -61,8 +62,6 @@ class PythonLexer(RegexLexer):
     mimetypes = ['text/x-python', 'application/x-python',
                  'text/x-python3', 'application/x-python3']
 
-    flags = re.MULTILINE | re.UNICODE
-
     uni_name = "[%s][%s]*" % (uni.xid_start, uni.xid_continue)
 
     def innerstring_rules(ttype):
@@ -214,7 +213,7 @@ class PythonLexer(RegexLexer):
             (r'(^[ \t]*)'              # at beginning of line + possible indentation
              r'(match|case)\b'         # a possible keyword
              r'(?![ \t]*(?:'           # not followed by...
-             r'[:,;=^&|@~)\]}]|(?:' +  # characters and keywords that mean this isn't 
+             r'[:,;=^&|@~)\]}]|(?:' +  # characters and keywords that mean this isn't
              r'|'.join(keyword.kwlist) + r')\b))',                 # pattern matching
              bygroups(Text, Keyword), 'soft-keywords-inner'),
         ],
@@ -259,7 +258,8 @@ class PythonLexer(RegexLexer):
                 'InterruptedError', 'IsADirectoryError', 'NotADirectoryError',
                 'PermissionError', 'ProcessLookupError', 'TimeoutError',
                 # others new in Python 3
-                'StopAsyncIteration', 'ModuleNotFoundError', 'RecursionError'),
+                'StopAsyncIteration', 'ModuleNotFoundError', 'RecursionError',
+                'EncodingWarning'),
                 prefix=r'(?<!\.)', suffix=r'\b'),
              Name.Exception),
         ],
@@ -403,7 +403,7 @@ Python3Lexer = PythonLexer
 
 class Python2Lexer(RegexLexer):
     """
-    For `Python 2.x <http://www.python.org>`_ source code.
+    For Python 2.x source code.
 
     .. versionchanged:: 2.5
        This class has been renamed from ``PythonLexer``.  ``PythonLexer`` now
@@ -412,6 +412,7 @@ class Python2Lexer(RegexLexer):
     """
 
     name = 'Python 2.x'
+    url = 'http://www.python.org'
     aliases = ['python2', 'py2']
     filenames = []  # now taken over by PythonLexer (3.x)
     mimetypes = ['text/x-python2', 'application/x-python2']
@@ -816,12 +817,13 @@ class Python2TracebackLexer(RegexLexer):
 
 class CythonLexer(RegexLexer):
     """
-    For Pyrex and `Cython <http://cython.org>`_ source code.
+    For Pyrex and Cython source code.
 
     .. versionadded:: 1.1
     """
 
     name = 'Cython'
+    url = 'http://cython.org'
     aliases = ['cython', 'pyx', 'pyrex']
     filenames = ['*.pyx', '*.pxd', '*.pxi']
     mimetypes = ['text/x-cython', 'application/x-cython']
@@ -995,7 +997,7 @@ class CythonLexer(RegexLexer):
 
 class DgLexer(RegexLexer):
     """
-    Lexer for `dg <http://pyos.github.com/dg>`_,
+    Lexer for dg,
     a functional and object-oriented programming language
     running on the CPython 3 VM.
 
@@ -1100,6 +1102,7 @@ class NumPyLexer(PythonLexer):
     """
 
     name = 'NumPy'
+    url = 'https://numpy.org/'
     aliases = ['numpy']
 
     # override the mimetypes to not inherit them from python
diff --git a/pygments/lexers/q.py b/pygments/lexers/q.py
new file mode 100644 (file)
index 0000000..21a049f
--- /dev/null
@@ -0,0 +1,235 @@
+"""
+    pygments.lexers.q
+    ~~~~~~~~~~~~~~~~~
+
+    Lexer for the Q programming language.
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, words, include, bygroups, inherit
+from pygments.token import (
+    Comment,
+    Keyword,
+    Name,
+    Number,
+    Operator,
+    Punctuation,
+    String,
+    Text,
+    Whitespace,
+    Literal,
+    Generic,
+)
+
+__all__ = ["KLexer", "QLexer"]
+
+
+class KLexer(RegexLexer):
+    """
+    For `K <https://code.kx.com/>`_ source code.
+
+    .. versionadded:: 2.12
+    """
+
+    name = "K"
+    aliases = ["k"]
+    filenames = ["*.k"]
+
+    tokens = {
+        "whitespace": [
+            # hashbang script
+            (r"^#!.*", Comment.Hashbang),
+            # Comments
+            (r"^/\s*\n", Comment.Multiline, "comments"),
+            (r"(?<!\S)/.*", Comment.Single),
+            # Whitespace
+            (r"\s+", Whitespace),
+            # Strings
+            (r"\"", String.Double, "strings"),
+        ],
+        "root": [
+            include("whitespace"),
+            include("keywords"),
+            include("declarations"),
+        ],
+        "keywords": [
+            (
+                words(
+                    ("abs", "acos", "asin", "atan", "avg", "bin",
+                     "binr", "by", "cor", "cos", "cov", "dev",
+                     "delete", "div", "do", "enlist", "exec", "exit",
+                     "exp", "from", "getenv", "hopen", "if", "in",
+                     "insert", "last", "like", "log", "max", "min",
+                     "prd", "select", "setenv", "sin", "sqrt", "ss",
+                     "sum", "tan", "update", "var", "wavg", "while",
+                     "within", "wsum", "xexp"),
+                    suffix=r"\b",
+                ),
+                Operator.Word,
+            ),
+        ],
+        "declarations": [
+            # Timing
+            (r"^\\ts?", Comment.Preproc),
+            (
+                r"^(\\\w\s+[^/\n]*?)(/.*)",
+                bygroups(Comment.Preproc, Comment.Single),
+            ),
+            # Generic System Commands
+            (r"^\\\w.*", Comment.Preproc),
+            # Prompt
+            (r"^[a-zA-Z]\)", Generic.Prompt),
+            # Function Names
+            (
+                r"([.]?[a-zA-Z][\w.]*)(\s*)([-.~=!@#$%^&*_+|,<>?/\\:']?:)(\s*)(\{)",
+                bygroups(Name.Function, Whitespace, Operator, Whitespace, Punctuation),
+                "functions",
+            ),
+            # Variable Names
+            (
+                r"([.]?[a-zA-Z][\w.]*)(\s*)([-.~=!@#$%^&*_+|,<>?/\\:']?:)",
+                bygroups(Name.Variable, Whitespace, Operator),
+            ),
+            # Functions
+            (r"\{", Punctuation, "functions"),
+            # Parentheses
+            (r"\(", Punctuation, "parentheses"),
+            # Brackets
+            (r"\[", Punctuation, "brackets"),
+            # Errors
+            (r"'`([a-zA-Z][\w.]*)?", Name.Exception),
+            # File Symbols
+            (r"`:([a-zA-Z/][\w./]*)?", String.Symbol),
+            # Symbols
+            (r"`([a-zA-Z][\w.]*)?", String.Symbol),
+            # Numbers
+            include("numbers"),
+            # Variable Names
+            (r"[a-zA-Z][\w.]*", Name),
+            # Operators
+            (r"[-=+*#$%@!~^&:.,<>'\\|/?_]", Operator),
+            # Punctuation
+            (r";", Punctuation),
+        ],
+        "functions": [
+            include("root"),
+            (r"\}", Punctuation, "#pop"),
+        ],
+        "parentheses": [
+            include("root"),
+            (r"\)", Punctuation, "#pop"),
+        ],
+        "brackets": [
+            include("root"),
+            (r"\]", Punctuation, "#pop"),
+        ],
+        "numbers": [
+            # Binary Values
+            (r"[01]+b", Number.Bin),
+            # Nulls/Infinities
+            (r"0[nNwW][cefghijmndzuvtp]?", Number),
+            # Timestamps
+            (
+                (
+                    r"(?:[0-9]{4}[.][0-9]{2}[.][0-9]{2}|[0-9]+)"
+                    "D(?:[0-9](?:[0-9](?::[0-9]{2}"
+                    "(?::[0-9]{2}(?:[.][0-9]*)?)?)?)?)?"
+                ),
+                Literal.Date,
+            ),
+            # Datetimes
+            (
+                (
+                    r"[0-9]{4}[.][0-9]{2}"
+                    "(?:m|[.][0-9]{2}(?:T(?:[0-9]{2}:[0-9]{2}"
+                    "(?::[0-9]{2}(?:[.][0-9]*)?)?)?)?)"
+                ),
+                Literal.Date,
+            ),
+            # Times
+            (
+                (r"[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:[.][0-9]{1,3})?)?"),
+                Literal.Date,
+            ),
+            # GUIDs
+            (
+                r"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+                Number.Hex,
+            ),
+            # Byte Vectors
+            (r"0x[0-9a-fA-F]+", Number.Hex),
+            # Floats
+            (
+                r"([0-9]*[.]?[0-9]+|[0-9]+[.]?[0-9]*)[eE][+-]?[0-9]+[ef]?",
+                Number.Float,
+            ),
+            (r"([0-9]*[.][0-9]+|[0-9]+[.][0-9]*)[ef]?", Number.Float),
+            (r"[0-9]+[ef]", Number.Float),
+            # Characters
+            (r"[0-9]+c", Number),
+            # Integers
+            (r"[0-9]+[ihtuv]", Number.Integer),
+            # Long Integers
+            (r"[0-9]+[jnp]?", Number.Integer.Long),
+        ],
+        "comments": [
+            (r"[^\\]+", Comment.Multiline),
+            (r"^\\", Comment.Multiline, "#pop"),
+            (r"\\", Comment.Multiline),
+        ],
+        "strings": [
+            (r'[^"\\]+', String.Double),
+            (r"\\.", String.Escape),
+            (r'"', String.Double, "#pop"),
+        ],
+    }
+
+
+class QLexer(KLexer):
+    """
+    For `Q <https://code.kx.com/>`_ source code.
+
+    .. versionadded:: 2.12
+    """
+
+    name = "Q"
+    aliases = ["q"]
+    filenames = ["*.q"]
+
+    tokens = {
+        "root": [
+            (
+                words(
+                    ("aj", "aj0", "ajf", "ajf0", "all", "and", "any",
+                     "asc", "asof", "attr", "avgs", "ceiling", "cols",
+                     "count", "cross", "csv", "cut", "deltas", "desc",
+                     "differ", "distinct", "dsave", "each", "ej",
+                     "ema", "eval", "except", "fby", "fills", "first",
+                     "fkeys", "flip", "floor", "get", "group", "gtime",
+                     "hclose", "hcount", "hdel", "hsym", "iasc",
+                     "idesc", "ij", "ijf", "inter", "inv", "key",
+                     "keys", "lj", "ljf", "load", "lower", "lsq",
+                     "ltime", "ltrim", "mavg", "maxs", "mcount", "md5",
+                     "mdev", "med", "meta", "mins", "mmax", "mmin",
+                     "mmu", "mod", "msum", "neg", "next", "not",
+                     "null", "or", "over", "parse", "peach", "pj",
+                     "prds", "prior", "prev", "rand", "rank", "ratios",
+                     "raze", "read0", "read1", "reciprocal", "reval",
+                     "reverse", "rload", "rotate", "rsave", "rtrim",
+                     "save", "scan", "scov", "sdev", "set", "show",
+                     "signum", "ssr", "string", "sublist", "sums",
+                     "sv", "svar", "system", "tables", "til", "trim",
+                     "txf", "type", "uj", "ujf", "ungroup", "union",
+                     "upper", "upsert", "value", "view", "views", "vs",
+                     "where", "wj", "wj1", "ww", "xasc", "xbar",
+                     "xcol", "xcols", "xdesc", "xgroup", "xkey",
+                     "xlog", "xprev", "xrank"),
+                    suffix=r"\b",
+                ),
+                Name.Builtin,
+            ),
+            inherit,
+        ],
+    }
diff --git a/pygments/lexers/qlik.py b/pygments/lexers/qlik.py
new file mode 100644 (file)
index 0000000..96ca53c
--- /dev/null
@@ -0,0 +1,142 @@
+"""
+    pygments.lexers.qlik
+    ~~~~~~~~~~~~~~~~~~~~
+
+    Lexer for the qlik scripting language
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+
+from pygments.lexer import RegexLexer, include, bygroups, words
+from pygments.token import (
+    Comment,
+    Keyword,
+    Name,
+    Number,
+    Operator,
+    Punctuation,
+    String,
+    Text,
+)
+from pygments.lexers._qlik_builtins import (
+    OPERATORS_LIST,
+    STATEMENT_LIST,
+    SCRIPT_FUNCTIONS,
+    CONSTANT_LIST,
+)
+
+__all__ = ["QlikLexer"]
+
+
+class QlikLexer(RegexLexer):
+    """
+    Lexer for qlik code, including .qvs files
+
+    .. versionadded:: 2.12
+    """
+
+    name = "Qlik"
+    aliases = ["qlik", "qlikview", "qliksense", "qlikscript"]
+    filenames = ["*.qvs", "*.qvw"]
+
+    flags = re.IGNORECASE
+
+    tokens = {
+        # Handle multi-line comments
+        "comment": [
+            (r"\*/", Comment.Multiline, "#pop"),
+            (r"[^*]+", Comment.Multiline),
+        ],
+        # Handle numbers
+        "numerics": [
+            (r"\b\d+\.\d+(e\d+)?[fd]?\b", Number.Float),
+            (r"\b\d+\b", Number.Integer),
+        ],
+        # Handle variable names in things
+        "interp": [
+            (
+                r"(\$\()(\w+)(\))",
+                bygroups(String.Interpol, Name.Variable, String.Interpol),
+            ),
+        ],
+        # Handle strings
+        "string": [
+            (r"'", String, "#pop"),
+            include("interp"),
+            (r"[^'$]+", String),
+            (r"\$", String),
+        ],
+        #
+        "assignment": [
+            (r";", Punctuation, "#pop"),
+            include("root"),
+        ],
+        "field_name_quote": [
+            (r'"', String.Symbol, "#pop"),
+            include("interp"),
+            (r"[^\"$]+", String.Symbol),
+            (r"\$", String.Symbol),
+        ],
+        "field_name_bracket": [
+            (r"\]", String.Symbol, "#pop"),
+            include("interp"),
+            (r"[^\]$]+", String.Symbol),
+            (r"\$", String.Symbol),
+        ],
+        "function": [(r"\)", Punctuation, "#pop"), include("root")],
+        "root": [
+            # Whitespace and comments
+            (r"\s+", Text.Whitespace),
+            (r"/\*", Comment.Multiline, "comment"),
+            (r"//.*\n", Comment.Single),
+            # variable assignment
+            (
+                r"(let|set)(\s+)",
+                bygroups(
+                    Keyword.Declaration,
+                    Text.Whitespace,
+                ),
+                "assignment",
+            ),
+            # Word operators
+            (
+                words(OPERATORS_LIST["words"], prefix=r"\b", suffix=r"\b"),
+                Operator.Word,
+            ),
+            # Statements
+            (
+                words(
+                    STATEMENT_LIST,
+                    suffix=r"\b",
+                ),
+                Keyword,
+            ),
+            # Table names
+            (r"[a-z]\w*:", Keyword.Declaration),
+            # Constants
+            (words(CONSTANT_LIST, suffix=r"\b"), Keyword.Constant),
+            # Functions
+            (words(SCRIPT_FUNCTIONS, suffix=r"(?=\s*\()"), Name.Builtin, "function"),
+            # interpolation - e.g. $(variableName)
+            include("interp"),
+            # Quotes denote a field/file name
+            (r'"', String.Symbol, "field_name_quote"),
+            # Square brackets denote a field/file name
+            (r"\[", String.Symbol, "field_name_bracket"),
+            # Strings
+            (r"'", String, "string"),
+            # Numbers
+            include("numerics"),
+            # Operator symbols
+            (words(OPERATORS_LIST["symbols"]), Operator),
+            # Strings denoted by single quotes
+            (r"'.+?'", String),
+            # Words as text
+            (r"\b\w+\b", Text),
+            # Basic punctuation
+            (r"[,;.()\\/]", Punctuation),
+        ],
+    }
index 72817f09c12f8a14c450acbb7f67c759d077545e..07d1818034125c4e611110fbcd033092bd1e1f96 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for QVT Operational language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 44168a7ad5e57314aeb2ada98398a5b9403d3f63..539e3802daf41b4c50afed141e7eeba389128442 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the R/S languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index bd7a4f690c04f4af62efbbb63a259a95eed6c51b..ed5420776c50c7c0503939a9994e2070bce4fbf2 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for semantic web and RDF query languages and markup.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 57480a1cb928bf2a1f04f1451adda89951ae238b..7d363dd50637ba255dcb5caeb7327bcdc2650c28 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the REBOL and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 3ed176a18115df5e50e9be4298c3fa33b7caf608..2e6b2ddc338ddf97a79b461757cd8c3144befc38 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for resource definition files.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 07cc1ef6b76b30438c71a40b09923f6a06f2c611..9d535d80cdafd777cd9a7eba924c46fb1bb74217 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the Ride programming language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index f8f517b9ed58f2114103aa8e87a676688dd65d5f..a8e4eca995f96a3cb6d1d9bf704c325ce3e745bf 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for RITA language
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,11 +19,12 @@ __all__ = ['RitaLexer']
 
 class RitaLexer(RegexLexer):
     """
-    Lexer for `RITA <https://github.com/zaibacu/rita-dsl>`_
+    Lexer for RITA.
 
      .. versionadded:: 2.11
     """
     name = 'Rita'
+    url = 'https://github.com/zaibacu/rita-dsl'
     filenames = ['*.rita']
     aliases = ['rita']
     mimetypes = ['text/rita']
index cc8950a0b70bf110abd8a3e1679c3cacf965ac46..fc1c9a89d619d31800f052004a983e0d6d41b513 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Relax-NG Compact syntax
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,12 +17,13 @@ __all__ = ['RNCCompactLexer']
 
 class RNCCompactLexer(RegexLexer):
     """
-    For `RelaxNG-compact <http://relaxng.org>`_ syntax.
+    For RelaxNG-compact syntax.
 
     .. versionadded:: 2.2
     """
 
     name = 'Relax-NG Compact'
+    url = 'http://relaxng.org'
     aliases = ['rng-compact', 'rnc']
     filenames = ['*.rnc']
 
index 4380113831c19593761653f1b75662402fa2e234..2d8e5ff4dbcf1d85732cfadecc68e927f0882cc2 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Roboconf DSL.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -16,7 +16,7 @@ __all__ = ['RoboconfGraphLexer', 'RoboconfInstancesLexer']
 
 class RoboconfGraphLexer(RegexLexer):
     """
-    Lexer for `Roboconf <http://roboconf.net/en/roboconf.html>`_ graph files.
+    Lexer for Roboconf graph files.
 
     .. versionadded:: 2.1
     """
@@ -51,7 +51,7 @@ class RoboconfGraphLexer(RegexLexer):
 
 class RoboconfInstancesLexer(RegexLexer):
     """
-    Lexer for `Roboconf <http://roboconf.net/en/roboconf.html>`_ instances files.
+    Lexer for Roboconf instances files.
 
     .. versionadded:: 2.1
     """
index 3c212f5e20a02d22d6e00b3ccefdf0ea37003e52..91794d0f2b3362c63e3f11226428f7f9d78678e0 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Robot Framework.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -54,15 +54,16 @@ def normalize(string, remove=''):
 
 class RobotFrameworkLexer(Lexer):
     """
-    For `Robot Framework <http://robotframework.org>`_ test data.
+    For Robot Framework test data.
 
     Supports both space and pipe separated plain text formats.
 
     .. versionadded:: 1.6
     """
     name = 'RobotFramework'
+    url = 'http://robotframework.org'
     aliases = ['robotframework']
-    filenames = ['*.robot']
+    filenames = ['*.robot', '*.resource']
     mimetypes = ['text/x-robotframework']
 
     def __init__(self, **options):
@@ -285,7 +286,7 @@ class KeywordCall(Tokenizer):
 
 
 class GherkinTokenizer:
-    _gherkin_prefix = re.compile('^(Given|When|Then|And) ', re.IGNORECASE)
+    _gherkin_prefix = re.compile('^(Given|When|Then|And|But) ', re.IGNORECASE)
 
     def tokenize(self, value, token):
         match = self._gherkin_prefix.match(value)
index 2b2f923eb96bb8eed335db00a65d84a4fce9cbdd..82aac3603e6f82ad07d430731dee636d72a902da 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Ruby and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -29,10 +29,11 @@ RUBY_OPERATORS = (
 
 class RubyLexer(ExtendedRegexLexer):
     """
-    For `Ruby <http://www.ruby-lang.org>`_ source code.
+    For Ruby source code.
     """
 
     name = 'Ruby'
+    url = 'http://www.ruby-lang.org'
     aliases = ['ruby', 'rb', 'duby']
     filenames = ['*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec',
                  '*.rbx', '*.duby', 'Gemfile', 'Vagrantfile']
@@ -439,7 +440,7 @@ class RubyConsoleLexer(Lexer):
 
 class FancyLexer(RegexLexer):
     """
-    Pygments Lexer For `Fancy <http://www.fancy-lang.org/>`_.
+    Pygments Lexer For Fancy.
 
     Fancy is a self-hosted, pure object-oriented, dynamic,
     class-based, concurrent general-purpose programming language
@@ -448,6 +449,7 @@ class FancyLexer(RegexLexer):
     .. versionadded:: 1.5
     """
     name = 'Fancy'
+    url = 'https://github.com/bakkdoor/fancy'
     filenames = ['*.fy', '*.fancypack']
     aliases = ['fancy', 'fy']
     mimetypes = ['text/x-fancysrc']
index d01f73e4a4d68a732cbaa32cbb12e94a6fdc2dc7..500c7a55e16317c706120cd09112565996994a32 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Rust language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -22,6 +22,7 @@ class RustLexer(RegexLexer):
     .. versionadded:: 1.6
     """
     name = 'Rust'
+    url = 'https://www.rust-lang.org/'
     filenames = ['*.rs', '*.rs.in']
     aliases = ['rust', 'rs']
     mimetypes = ['text/rust', 'text/x-rust']
@@ -104,7 +105,7 @@ class RustLexer(RegexLexer):
             # Prelude (taken from Rust's src/libstd/prelude.rs)
             builtin_funcs_types,
             builtin_macros,
-            # Path seperators, so types don't catch them.
+            # Path separators, so types don't catch them.
             (r'::\b', Text),
             # Types in positions.
             (r'(?::|->)', Text, 'typename'),
index 7d7f9d3689c3f7bcebf5f44046f89d9fac0e62ee..f2f408c6d74cbf97723c422b48fc8301fd6bf1df 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for SAS.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -18,7 +18,7 @@ __all__ = ['SASLexer']
 
 class SASLexer(RegexLexer):
     """
-    For `SAS <http://www.sas.com/>`_ files.
+    For SAS files.
 
     .. versionadded:: 2.2
     """
index 88fddab0140c578db64eba6d071025610914b6d4..280a3e4781c01330d1882aa3870e424b81285150 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Savi.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -31,12 +31,13 @@ __all__ = ['SaviLexer']
 
 class SaviLexer(RegexLexer):
   """
-  For `Savi <https://github.com/savi-lang/savi>`_ source code.
+  For Savi source code.
 
   .. versionadded: 2.10
   """
 
   name = 'Savi'
+  url = 'https://github.com/savi-lang/savi'
   aliases = ['savi']
   filenames = ['*.savi']
 
@@ -57,8 +58,11 @@ class SaviLexer(RegexLexer):
       # Single-Char String
       (r"'", String.Char, "string.char"),
 
-      # Class (or other type)
-      (r'([_A-Z]\w*)', Name.Class),
+      # Type Name
+      (r'(_?[A-Z]\w*)', Name.Class),
+
+      # Nested Type Name
+      (r'(\.)(\s*)(_?[A-Z]\w*)', bygroups(Punctuation, Whitespace, Name.Class)),
 
       # Declare
       (r'^([ \t]*)(:\w+)',
@@ -137,6 +141,7 @@ class SaviLexer(RegexLexer):
 
     # Double-Quote String (nested rules)
     "string.double": [
+      (r'\\\(', String.Interpol, "string.interpolation"),
       (r'\\u[0-9a-fA-F]{4}', String.Escape),
       (r'\\x[0-9a-fA-F]{2}', String.Escape),
       (r'\\[bfnrt\\\']', String.Escape),
@@ -156,4 +161,10 @@ class SaviLexer(RegexLexer):
       (r"[^\\']+", String.Char),
       (r'.', Error),
     ],
+
+    # Interpolation inside String (nested rules)
+    "string.interpolation": [
+      (r"\)", String.Interpol, "#pop"),
+      include("root"),
+    ]
   }
index 48b0682ae337b146f9027e43de3f9f71a3904ea8..cb602db97d35f76cbb216e618177c7789a6d69cb 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for scdoc, a simple man page generator.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -22,11 +22,11 @@ __all__ = ['ScdocLexer']
 class ScdocLexer(RegexLexer):
     """
     `scdoc` is a simple man page generator for POSIX systems written in C99.
-    https://git.sr.ht/~sircmpwn/scdoc
-
+    
     .. versionadded:: 2.5
     """
     name = 'scdoc'
+    url = 'https://git.sr.ht/~sircmpwn/scdoc'
     aliases = ['scdoc', 'scd']
     filenames = ['*.scd', '*.scdoc']
     flags = re.MULTILINE
index 9a1e63d66a1c5f1d081cd87fd8202143b0f2ddc1..25cc406c2eca0ce949404e1e6bef8dcc1d9b2094 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for scripting and embedded languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -23,7 +23,7 @@ __all__ = ['LuaLexer', 'MoonScriptLexer', 'ChaiscriptLexer', 'LSLLexer',
 
 class LuaLexer(RegexLexer):
     """
-    For `Lua <http://www.lua.org>`_ source code.
+    For Lua source code.
 
     Additional options accepted:
 
@@ -45,6 +45,7 @@ class LuaLexer(RegexLexer):
     """
 
     name = 'Lua'
+    url = 'https://www.lua.org/'
     aliases = ['lua']
     filenames = ['*.lua', '*.wlua']
     mimetypes = ['text/x-lua', 'application/x-lua']
@@ -163,12 +164,13 @@ class LuaLexer(RegexLexer):
 
 class MoonScriptLexer(LuaLexer):
     """
-    For `MoonScript <http://moonscript.org>`_ source code.
+    For MoonScript source code.
 
     .. versionadded:: 1.5
     """
 
     name = 'MoonScript'
+    url = 'http://moonscript.org'
     aliases = ['moonscript', 'moon']
     filenames = ['*.moon']
     mimetypes = ['text/x-moonscript', 'application/x-moonscript']
@@ -231,12 +233,13 @@ class MoonScriptLexer(LuaLexer):
 
 class ChaiscriptLexer(RegexLexer):
     """
-    For `ChaiScript <http://chaiscript.com/>`_ source code.
+    For ChaiScript source code.
 
     .. versionadded:: 2.0
     """
 
     name = 'ChaiScript'
+    url = 'http://chaiscript.com/'
     aliases = ['chaiscript', 'chai']
     filenames = ['*.chai']
     mimetypes = ['text/x-chaiscript', 'application/x-chaiscript']
@@ -381,9 +384,7 @@ class LSLLexer(RegexLexer):
 
 class AppleScriptLexer(RegexLexer):
     """
-    For `AppleScript source code
-    <http://developer.apple.com/documentation/AppleScript/
-    Conceptual/AppleScriptLangGuide>`_,
+    For AppleScript source code,
     including `AppleScript Studio
     <http://developer.apple.com/documentation/AppleScript/
     Reference/StudioReference>`_.
@@ -393,6 +394,7 @@ class AppleScriptLexer(RegexLexer):
     """
 
     name = 'AppleScript'
+    url = 'https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html'
     aliases = ['applescript']
     filenames = ['*.applescript']
 
@@ -704,7 +706,7 @@ class AppleScriptLexer(RegexLexer):
 
 class RexxLexer(RegexLexer):
     """
-    `Rexx <http://www.rexxinfo.org/>`_ is a scripting language available for
+    Rexx is a scripting language available for
     a wide range of different platforms with its roots found on mainframe
     systems. It is popular for I/O- and data based tasks and can act as glue
     language to bind different applications together.
@@ -712,6 +714,7 @@ class RexxLexer(RegexLexer):
     .. versionadded:: 2.0
     """
     name = 'Rexx'
+    url = 'http://www.rexxinfo.org/'
     aliases = ['rexx', 'arexx']
     filenames = ['*.rexx', '*.rex', '*.rx', '*.arexx']
     mimetypes = ['text/x-rexx']
@@ -798,7 +801,7 @@ class RexxLexer(RegexLexer):
 
     def analyse_text(text):
         """
-        Check for inital comment and patterns that distinguish Rexx from other
+        Check for initial comment and patterns that distinguish Rexx from other
         C-like languages.
         """
         if re.search(r'/\*\**\s*rexx', text, re.IGNORECASE):
@@ -817,12 +820,12 @@ class RexxLexer(RegexLexer):
 
 class MOOCodeLexer(RegexLexer):
     """
-    For `MOOCode <http://www.moo.mud.org/>`_ (the MOO scripting
-    language).
+    For MOOCode (the MOO scripting language).
 
     .. versionadded:: 0.9
     """
     name = 'MOOCode'
+    url = 'http://www.moo.mud.org/'
     filenames = ['*.moo']
     aliases = ['moocode', 'moo']
     mimetypes = ['text/x-moocode']
@@ -860,7 +863,7 @@ class MOOCodeLexer(RegexLexer):
 
 class HybrisLexer(RegexLexer):
     """
-    For `Hybris <http://www.hybris-lang.org>`_ source code.
+    For Hybris source code.
 
     .. versionadded:: 1.4
     """
@@ -975,7 +978,7 @@ class EasytrieveLexer(RegexLexer):
     #   * apostrophe (')
     #   * period (.)
     #   * comma (,)
-    #   * paranthesis ( and )
+    #   * parenthesis ( and )
     #   * colon (:)
     #
     # Additionally words end once a '*' appears, indicatins a comment.
@@ -1147,8 +1150,7 @@ class EasytrieveLexer(RegexLexer):
 
 class JclLexer(RegexLexer):
     """
-    `Job Control Language (JCL)
-    <http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B570/CCONTENTS>`_
+    Job Control Language (JCL)
     is a scripting language used on mainframe platforms to instruct the system
     on how to run a batch job or start a subsystem. It is somewhat
     comparable to MS DOS batch and Unix shell scripts.
@@ -1231,12 +1233,13 @@ class JclLexer(RegexLexer):
 
 class MiniScriptLexer(RegexLexer):
     """
-    For `MiniScript <https://miniscript.org>`_ source code.
+    For MiniScript source code.
 
     .. versionadded:: 2.6
     """
 
     name = 'MiniScript'
+    url = 'https://miniscript.org'
     aliases = ['miniscript', 'ms']
     filenames = ['*.ms']
     mimetypes = ['text/x-minicript', 'application/x-miniscript']
index 35c90ff54f1238e3b9d86fbec07b2ba26b9976d2..1b066b1c03e8fca17c20ad8ddc5aece2812bb3b3 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Smart Game Format (sgf) file format.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,12 +20,11 @@ class SmartGameFormatLexer(RegexLexer):
 
     The format is used to store game records of board games for two players
     (mainly Go game).
-    For more information about the definition of the format, see:
-    https://www.red-bean.com/sgf/
 
     .. versionadded:: 2.4
     """
     name = 'SmartGameFormat'
+    url = 'https://www.red-bean.com/sgf/'
     aliases = ['sgf']
     filenames = ['*.sgf']
 
index fd26a4b3eaf74022d61b9a1e6eadb88654831055..474fbf66a8fc56d3e4466d8f2f29bc5feff88ee5 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for various shells.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 6fa33d3181187dd812ed783a1b46473965090f0c..7f59651d21b3b5656a89dd1b7ec22a8539710112 100644 (file)
@@ -13,7 +13,7 @@
     https://tools.ietf.org/html/rfc5429
     https://tools.ietf.org/html/rfc8580
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index df0e23de5fc25727de8914b35c4766a767c61ec4..e3434c5df88f58b1b4bcf692a4c91aa9727407ff 100644 (file)
@@ -5,7 +5,7 @@
     Lexer for the `Slash <https://github.com/arturadib/Slash-A>`_ programming
     language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index ebb3311dd2c8c2be879f708931c3b3eb7b9fe3f5..ca41c07b0727b6c30bba448f5eb7c598722dfe17 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Smalltalk and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,13 +17,14 @@ __all__ = ['SmalltalkLexer', 'NewspeakLexer']
 
 class SmalltalkLexer(RegexLexer):
     """
-    For `Smalltalk <http://www.smalltalk.org/>`_ syntax.
+    For Smalltalk syntax.
     Contributed by Stefan Matthias Aust.
     Rewritten by Nils Winter.
 
     .. versionadded:: 0.10
     """
     name = 'Smalltalk'
+    url = 'http://www.smalltalk.org/'
     filenames = ['*.st']
     aliases = ['smalltalk', 'squeak', 'st']
     mimetypes = ['text/x-smalltalk']
@@ -138,11 +139,12 @@ class SmalltalkLexer(RegexLexer):
 
 class NewspeakLexer(RegexLexer):
     """
-    For `Newspeak <http://newspeaklanguage.org/>`_ syntax.
+    For Newspeak syntax.
 
     .. versionadded:: 1.1
     """
     name = 'Newspeak'
+    url = 'http://newspeaklanguage.org/'
     filenames = ['*.ns2']
     aliases = ['newspeak', ]
     mimetypes = ['text/x-newspeak']
index 0f0a91204cdcc2a9c625d6eb9536d8b704e4a960..08301d5e1a90bb01291dfc952d3d94f58cae15c9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Smithy IDL.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -24,10 +24,10 @@ class SmithyLexer(RegexLexer):
     .. versionadded:: 2.10
     """
     name = 'Smithy'
+    url = 'https://awslabs.github.io/smithy/'
     filenames = ['*.smithy']
     aliases = ['smithy']
 
-    flags = re.MULTILINE | re.UNICODE
     unquoted = r'[A-Za-z0-9_\.#$-]+'
     identifier = r"[A-Za-z0-9_\.#$-]+"
 
index a4cbf9455e3d5cfbee0f1fbdae8b7da6a7f39a21..b51e170e1573810329dca40257fb1142f9673fde 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the SMV languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index b5719c3a5a2466959e8d1e02df16f7beccaeebf4..c336d196fda454c79c798a577503199343c75a99 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the SNOBOL language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 0c42586fae1525770f7e703f4f708f99ff536dd3..2b406173b68b669349e3b4189ab5fd856743c2f8 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Solidity.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -29,8 +29,6 @@ class SolidityLexer(RegexLexer):
     filenames = ['*.sol']
     mimetypes = []
 
-    flags = re.MULTILINE | re.UNICODE
-
     datatype = (
         r'\b(address|bool|(?:(?:bytes|hash|int|string|uint)(?:8|16|24|32|40|48|56|64'
         r'|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208'
index 5410369fad2a8d9925bfec20a281a0d04d510df7..fc9018149bcc8f4b4d7e9776ab2e791bbd7131fa 100644 (file)
@@ -6,7 +6,7 @@
 
     Derived from pygments/lexers/reason.py.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -18,7 +18,7 @@ __all__ = ['SophiaLexer']
 
 class SophiaLexer(RegexLexer):
     """
-    A `Sophia <https://buildwithsophia.com/>`_ lexer.
+    A Sophia lexer.
 
     .. versionadded:: 2.11
     """
index bff6652c562ed326ce3a518369a2868c6fe143b8..216dad4a14fdb7780cf7cbf02d6128404e20a74a 100644 (file)
@@ -4,7 +4,7 @@
 
     Special lexers.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 51552b59f394c7ac5f15aedb7b945e9966324243..59d59b44c972f504e1228abf87fbfcdca36db695 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Spice programming language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,17 +19,16 @@ __all__ = ['SpiceLexer']
 
 class SpiceLexer(RegexLexer):
     """
-    For `Spice <http://spicelang.com>`_ source.
+    For Spice source.
 
     .. versionadded:: 2.11
     """
     name = 'Spice'
+    url = 'https://www.spicelang.com'
     filenames = ['*.spice']
     aliases = ['spice', 'spicelang']
     mimetypes = ['text/x-spice']
 
-    flags = re.MULTILINE | re.UNICODE
-
     tokens = {
         'root': [
             (r'\n', Whitespace),
@@ -39,22 +38,27 @@ class SpiceLexer(RegexLexer):
             (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
             (r'(import|as)\b', Keyword.Namespace),
             (r'(f|p|type|struct|const)\b', Keyword.Declaration),
-            (words(('if', 'else', 'for', 'foreach', 'while', 'break', 'continue', 'return', 'new', 'ext'), suffix=r'\b'), Keyword),
+            (words(('if', 'else', 'for', 'foreach', 'while', 'break', 'continue', 'return', 'ext', 'inline', 'public'), suffix=r'\b'), Keyword),
             (r'(true|false)\b', Keyword.Constant),
             (words(('printf', 'sizeof'), suffix=r'\b(\()'), bygroups(Name.Builtin, Punctuation)),
             (words(('double', 'int', 'short', 'long', 'byte', 'char', 'string', 'bool', 'dyn'), suffix=r'\b'), Keyword.Type),
             # double_lit
             (r'\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)', Number.Double),
             (r'\.\d+([eE][+\-]?\d+)?', Number.Double),
+            # short_lit
+            (r'(0|[1-9][0-9]*s)', Number.Integer),
+            # long_lit
+            (r'(0|[1-9][0-9]*l)', Number.Integer.Long),
             # int_lit
             (r'(0|[1-9][0-9]*)', Number.Integer),
-            # StringLiteral
-            # -- interpreted_string_lit
+            # string_lit
             (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
-            # Tokens
+            # char_lit
+            (r'\'(\\\\|\\[^\\]|[^\'\\])\'', String.Char),
+            # tokens
             (r'(<<=|>>=|<<|>>|<=|>=|\+=|-=|\*=|/=|&&|\|\||&|\||\+\+|--|\%|==|!=|[.]{3}|[+\-*/&])', Operator),
             (r'[|<>=!()\[\]{}.,;:\?]', Punctuation),
-            # identifier
+            # identifiers
             (r'[^\W\d]\w*', Name.Other),
         ]
     }
index 752f1350055bd87e8f7ad7eb7c2f2115b0ea45fa..043a3d17cf6d81ad0a7bb93dd11fcf4c6b901f95 100644 (file)
@@ -33,7 +33,7 @@
     The ``tests/examplefiles`` contains a few test files with data to be
     parsed by these lexers.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -513,8 +513,8 @@ class TransactSqlLexer(RegexLexer):
     filenames = ['*.sql']
     mimetypes = ['text/x-tsql']
 
-    # Use re.UNICODE to allow non ASCII letters in names.
-    flags = re.IGNORECASE | re.UNICODE
+    flags = re.IGNORECASE
+
     tokens = {
         'root': [
             (r'\s+', Whitespace),
@@ -812,11 +812,10 @@ class RqlLexer(RegexLexer):
     """
     Lexer for Relation Query Language.
 
-    `RQL <http://www.logilab.org/project/rql>`_
-
     .. versionadded:: 2.0
     """
     name = 'RQL'
+    url = 'http://www.logilab.org/project/rql'
     aliases = ['rql']
     filenames = ['*.rql']
     mimetypes = ['text/x-rql']
index 8bc0f88e56a7d17ea844150158ee5d9abd02fe2f..644d9b882bf269514471a5069b48ade878d8521e 100644 (file)
@@ -6,7 +6,7 @@
 
     The description of the format can be found in the wiki: https://wiki.archlinux.org/title/.SRCINFO
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 4ec6cf4f7599b91484dd5519ca8767affab00c2c..4fbe7736636c09fd06872b91ff0f2b6d6b7b801c 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Stata
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,7 +20,7 @@ __all__ = ['StataLexer']
 
 class StataLexer(RegexLexer):
     """
-    For `Stata <http://www.stata.com/>`_ do files.
+    For Stata do files.
 
     .. versionadded:: 2.2
     """
@@ -29,7 +29,8 @@ class StataLexer(RegexLexer):
     # - https://github.com/isagalaev/highlight.js/blob/master/src/languages/stata.js
     # - https://github.com/jpitblado/vim-stata/blob/master/syntax/stata.vim
 
-    name      = 'Stata'
+    name = 'Stata'
+    url = 'http://www.stata.com/'
     aliases   = ['stata', 'do']
     filenames = ['*.do', '*.ado']
     mimetypes = ['text/x-stata', 'text/stata', 'application/x-stata']
index 724674f5e6f085f7f2e909defa01ea7e9cb10fb7..efa44b7326d0efe055e7eba3cf447a6f10ca4703 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for SuperCollider
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,12 +19,13 @@ __all__ = ['SuperColliderLexer']
 
 class SuperColliderLexer(RegexLexer):
     """
-    For `SuperCollider <http://supercollider.github.io/>`_ source code.
+    For SuperCollider source code.
 
     .. versionadded:: 2.1
     """
 
     name = 'SuperCollider'
+    url = 'http://supercollider.github.io/'
     aliases = ['supercollider', 'sc']
     filenames = ['*.sc', '*.scd']
     mimetypes = ['application/supercollider', 'text/supercollider', ]
diff --git a/pygments/lexers/tal.py b/pygments/lexers/tal.py
new file mode 100644 (file)
index 0000000..7bc3fcb
--- /dev/null
@@ -0,0 +1,73 @@
+"""
+    pygments.lexers.tal
+    ~~~~~~~~~~~~~~~~~~~
+
+    Lexer for Uxntal
+
+    .. versionadded:: 2.12
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+
+from pygments.lexer import RegexLexer, words
+from pygments.token import Comment, Keyword, Name, String, Number, Punctuation, Whitespace, Literal
+
+__all__ = ['TalLexer']
+
+class TalLexer(RegexLexer):
+    """
+    For `Uxntal <https://wiki.xxiivv.com/site/uxntal.html>`_ source code.
+
+    .. versionadded:: 2.12
+    """
+
+    name = 'Tal'
+    aliases = ['tal', 'uxntal']
+    filenames = ['*.tal']
+    mimetypes = ['text/x-uxntal']
+
+    instructions = [
+        'BRK', 'LIT', 'INC', 'POP', 'DUP', 'NIP', 'SWP', 'OVR', 'ROT',
+        'EQU', 'NEQ', 'GTH', 'LTH', 'JMP', 'JCN', 'JSR', 'STH',
+        'LDZ', 'STZ', 'LDR', 'STR', 'LDA', 'STA', 'DEI', 'DEO',
+        'ADD', 'SUB', 'MUL', 'DIV', 'AND', 'ORA', 'EOR', 'SFT'
+    ]
+
+    tokens = {
+        # the comment delimiters must not be adjacent to non-space characters.
+        # this means ( foo ) is a valid comment but (foo) is not. this also
+        # applies to nested comments.
+        'comment': [
+            (r'(?<!\S)\((?!\S)', Comment.Multiline, '#push'), # nested comments
+            (r'(?<!\S)\)(?!\S)', Comment.Multiline, '#pop'), # nested comments
+            (r'[^()]+', Comment.Multiline), # comments
+            (r'[()]+', Comment.Multiline), # comments
+        ],
+        'root': [
+            (r'\s+', Whitespace), # spaces
+            (r'(?<!\S)\((?!\S)', Comment.Multiline, 'comment'), # comments
+            (words(instructions, prefix=r'(?<!\S)', suffix=r'2?k?r?(?!\S)'), Keyword.Reserved), # instructions
+            (r'[][{}](?!\S)', Punctuation), # delimiters
+            (r'#([0-9a-f]{2}){1,2}(?!\S)', Number.Hex), # integer
+            (r'"\S+', String), # raw string
+            (r"'\S(?!\S)", String.Char), # raw char
+            (r'([0-9a-f]{2}){1,2}(?!\S)', Literal), # raw integer
+            (r'[|$][0-9a-f]{1,4}(?!\S)', Keyword.Declaration), # abs/rel pad
+            (r'%\S+', Name.Decorator), # macro
+            (r'@\S+', Name.Function), # label
+            (r'&\S+', Name.Label), # sublabel
+            (r'/\S+', Name.Tag), # spacer
+            (r'\.\S+', Name.Variable.Magic), # zero page addr
+            (r',\S+', Name.Variable.Instance), # rel addr
+            (r';\S+', Name.Variable.Global), # abs addr
+            (r':\S+', Literal), # raw addr
+            (r'~\S+', Keyword.Namespace), # include
+            (r'\S+', Name),
+        ]
+    }
+
+    def analyse_text(text):
+        return '|0100' in text[:500]
index 7be07357aa6c7aacee85f1b18bbdc238e6694cf6..9c8b48425b926a009c101a03e5f4d94aa7fe6b25 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Tcl and related languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -41,6 +41,7 @@ class TclLexer(RegexLexer):
         'subst', 'tell', 'time', 'tm', 'unknown', 'unload'), prefix=r'\b', suffix=r'\b')
 
     name = 'Tcl'
+    url = 'https://www.tcl.tk/about/language.html'
     aliases = ['tcl']
     filenames = ['*.tcl', '*.rvt']
     mimetypes = ['text/x-tcl', 'text/x-script.tcl', 'application/x-tcl']
index 33088c882b70d025e332bb165249d61e8e2e17e7..5676f2f2b8f9232195c2e951c897f8f8c98a9e55 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for TEAL.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -15,8 +15,7 @@ __all__ = ['TealLexer']
 
 class TealLexer(RegexLexer):
     """
-    For the `Transaction Execution Approval Language (TEAL)
-    <https://developer.algorand.org/docs/reference/teal/specification/>`
+    For the Transaction Execution Approval Language (TEAL)
 
     For more information about the grammar, see:
     https://github.com/algorand/go-algorand/blob/master/data/transactions/logic/assembler.go
@@ -24,6 +23,7 @@ class TealLexer(RegexLexer):
     .. versionadded:: 2.9
     """
     name = 'teal'
+    url = 'https://developer.algorand.org/docs/reference/teal/specification/'
     aliases = ['teal']
     filenames = ['*.teal']
 
index 548e14afe2328bb48cfe1fbeddd37ff63ffe206f..304c4d349ca4ab0a5dfcf8bdf1f8b2ef72238b10 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for various template engines' markup.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -48,8 +48,7 @@ __all__ = ['HtmlPhpLexer', 'XmlPhpLexer', 'CssPhpLexer',
 
 class ErbLexer(Lexer):
     """
-    Generic `ERB <http://ruby-doc.org/core/classes/ERB.html>`_ (Ruby Templating)
-    lexer.
+    Generic ERB (Ruby Templating) lexer.
 
     Just highlights ruby code between the preprocessor directives, other data
     is left untouched by the lexer.
@@ -58,6 +57,7 @@ class ErbLexer(Lexer):
     """
 
     name = 'ERB'
+    url = 'https://github.com/ruby/erb'
     aliases = ['erb']
     mimetypes = ['application/x-ruby-templating']
 
@@ -143,13 +143,14 @@ class ErbLexer(Lexer):
 
 class SmartyLexer(RegexLexer):
     """
-    Generic `Smarty <http://smarty.php.net/>`_ template lexer.
+    Generic Smarty template lexer.
 
     Just highlights smarty code between the preprocessor directives, other
     data is left untouched by the lexer.
     """
 
     name = 'Smarty'
+    url = 'https://www.smarty.net/'
     aliases = ['smarty']
     filenames = ['*.tpl']
     mimetypes = ['application/x-smarty']
@@ -199,13 +200,14 @@ class SmartyLexer(RegexLexer):
 
 class VelocityLexer(RegexLexer):
     """
-    Generic `Velocity <http://velocity.apache.org/>`_ template lexer.
+    Generic Velocity template lexer.
 
     Just highlights velocity directives and variable references, other
     data is left untouched by the lexer.
     """
 
     name = 'Velocity'
+    url = 'https://velocity.apache.org/'
     aliases = ['velocity']
     filenames = ['*.vm', '*.fhtml']
 
@@ -402,15 +404,14 @@ class DjangoLexer(RegexLexer):
 
 class MyghtyLexer(RegexLexer):
     """
-    Generic `myghty templates`_ lexer. Code that isn't Myghty
+    Generic myghty templates lexer. Code that isn't Myghty
     markup is yielded as `Token.Other`.
 
     .. versionadded:: 0.6
-
-    .. _myghty templates: http://www.myghty.org/
     """
 
     name = 'Myghty'
+    url = 'http://www.myghty.org/'
     aliases = ['myghty']
     filenames = ['*.myt', 'autodelegate']
     mimetypes = ['application/x-myghty']
@@ -516,14 +517,13 @@ class MyghtyCssLexer(DelegatingLexer):
 
 class MasonLexer(RegexLexer):
     """
-    Generic `mason templates`_ lexer. Stolen from Myghty lexer. Code that isn't
+    Generic mason templates lexer. Stolen from Myghty lexer. Code that isn't
     Mason markup is HTML.
 
-    .. _mason templates: http://www.masonhq.com/
-
     .. versionadded:: 1.4
     """
     name = 'Mason'
+    url = 'http://www.masonhq.com/'
     aliases = ['mason']
     filenames = ['*.m', '*.mhtml', '*.mc', '*.mi', 'autohandler', 'dhandler']
     mimetypes = ['application/x-mason']
@@ -572,15 +572,14 @@ class MasonLexer(RegexLexer):
 
 class MakoLexer(RegexLexer):
     """
-    Generic `mako templates`_ lexer. Code that isn't Mako
+    Generic mako templates lexer. Code that isn't Mako
     markup is yielded as `Token.Other`.
 
     .. versionadded:: 0.7
-
-    .. _mako templates: http://www.makotemplates.org/
     """
 
     name = 'Mako'
+    url = 'http://www.makotemplates.org/'
     aliases = ['mako']
     filenames = ['*.mao']
     mimetypes = ['application/x-mako']
@@ -721,15 +720,15 @@ class CheetahPythonLexer(Lexer):
 
 class CheetahLexer(RegexLexer):
     """
-    Generic `cheetah templates`_ lexer. Code that isn't Cheetah
+    Generic cheetah templates lexer. Code that isn't Cheetah
     markup is yielded as `Token.Other`.  This also works for
     `spitfire templates`_ which use the same syntax.
 
-    .. _cheetah templates: http://www.cheetahtemplate.org/
     .. _spitfire templates: http://code.google.com/p/spitfire/
     """
 
     name = 'Cheetah'
+    url = 'http://www.cheetahtemplate.org/'
     aliases = ['cheetah', 'spitfire']
     filenames = ['*.tmpl', '*.spt']
     mimetypes = ['application/x-cheetah', 'application/x-spitfire']
@@ -813,11 +812,11 @@ class CheetahJavascriptLexer(DelegatingLexer):
 
 class GenshiTextLexer(RegexLexer):
     """
-    A lexer that highlights `genshi <http://genshi.edgewall.org/>`_ text
-    templates.
+    A lexer that highlights genshi text templates.
     """
 
     name = 'Genshi Text'
+    url = 'http://genshi.edgewall.org/'
     aliases = ['genshitext']
     mimetypes = ['application/x-genshi-text', 'text/x-genshi']
 
@@ -1252,6 +1251,7 @@ class HtmlDjangoLexer(DelegatingLexer):
 
     name = 'HTML+Django/Jinja'
     aliases = ['html+django', 'html+jinja', 'htmldjango']
+    filenames = ['*.html.j2', '*.htm.j2', '*.xhtml.j2', '*.html.jinja2', '*.htm.jinja2', '*.xhtml.jinja2']
     alias_filenames = ['*.html', '*.htm', '*.xhtml']
     mimetypes = ['text/html+django', 'text/html+jinja']
 
@@ -1273,6 +1273,7 @@ class XmlDjangoLexer(DelegatingLexer):
 
     name = 'XML+Django/Jinja'
     aliases = ['xml+django', 'xml+jinja']
+    filenames = ['*.xml.j2', '*.xml.jinja2']
     alias_filenames = ['*.xml']
     mimetypes = ['application/xml+django', 'application/xml+jinja']
 
@@ -1294,6 +1295,7 @@ class CssDjangoLexer(DelegatingLexer):
 
     name = 'CSS+Django/Jinja'
     aliases = ['css+django', 'css+jinja']
+    filenames = ['*.css.j2', '*.css.jinja2']
     alias_filenames = ['*.css']
     mimetypes = ['text/css+django', 'text/css+jinja']
 
@@ -1313,6 +1315,7 @@ class JavascriptDjangoLexer(DelegatingLexer):
     name = 'JavaScript+Django/Jinja'
     aliases = ['javascript+django', 'js+django',
                'javascript+jinja', 'js+jinja']
+    filenames = ['*.js.j2', '*.js.jinja2']
     alias_filenames = ['*.js']
     mimetypes = ['application/x-javascript+django',
                  'application/x-javascript+jinja',
@@ -1767,7 +1770,7 @@ class LassoJavascriptLexer(DelegatingLexer):
 
 class HandlebarsLexer(RegexLexer):
     """
-    Generic `handlebars <http://handlebarsjs.com/>` template lexer.
+    Generic handlebars template lexer.
 
     Highlights only the Handlebars template tags (stuff between `{{` and `}}`).
     Everything else is left for a delegating lexer.
@@ -1776,6 +1779,7 @@ class HandlebarsLexer(RegexLexer):
     """
 
     name = "Handlebars"
+    url = 'https://handlebarsjs.com/'
     aliases = ['handlebars']
 
     tokens = {
@@ -1870,7 +1874,7 @@ class YamlJinjaLexer(DelegatingLexer):
 
     name = 'YAML+Jinja'
     aliases = ['yaml+jinja', 'salt', 'sls']
-    filenames = ['*.sls']
+    filenames = ['*.sls', '*.yaml.j2', '*.yml.j2', '*.yaml.jinja2', '*.yml.jinja2']
     mimetypes = ['text/x-yaml+jinja', 'text/x-sls']
 
     def __init__(self, **options):
@@ -1879,12 +1883,12 @@ class YamlJinjaLexer(DelegatingLexer):
 
 class LiquidLexer(RegexLexer):
     """
-    Lexer for `Liquid templates
-    <http://www.rubydoc.info/github/Shopify/liquid>`_.
+    Lexer for Liquid templates.
 
     .. versionadded:: 2.0
     """
     name = 'liquid'
+    url = 'https://www.rubydoc.info/github/Shopify/liquid'
     aliases = ['liquid']
     filenames = ['*.liquid']
 
@@ -2085,7 +2089,7 @@ class LiquidLexer(RegexLexer):
 
 class TwigLexer(RegexLexer):
     """
-    `Twig <http://twig.sensiolabs.org/>`_ template lexer.
+    Twig template lexer.
 
     It just highlights Twig code between the preprocessor directives,
     other data is left untouched by the lexer.
@@ -2185,9 +2189,7 @@ class TwigHtmlLexer(DelegatingLexer):
 
 class Angular2Lexer(RegexLexer):
     """
-    Generic
-    `angular2 <http://victorsavkin.com/post/119943127151/angular-2-template-syntax>`_
-    template lexer.
+    Generic angular2 template lexer.
 
     Highlights only the Angular template tags (stuff between `{{` and `}}` and
     special attributes: '(event)=', '[property]=', '[(twoWayBinding)]=').
@@ -2197,6 +2199,7 @@ class Angular2Lexer(RegexLexer):
     """
 
     name = "Angular2"
+    url = 'https://angular.io/guide/template-syntax'
     aliases = ['ng2']
 
     tokens = {
index feb552d31499c45d40187682ec13457e26529113..5fada1d1007cf56580e5c422437fd32bb93c4d86 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Tera Term macro files.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,11 +19,12 @@ __all__ = ['TeraTermLexer']
 
 class TeraTermLexer(RegexLexer):
     """
-    For `Tera Term <https://ttssh2.osdn.jp/>`_ macro source code.
+    For Tera Term macro source code.
 
     .. versionadded:: 2.4
     """
     name = 'Tera Term macro'
+    url = 'https://ttssh2.osdn.jp/'
     aliases = ['teratermmacro', 'teraterm', 'ttl']
     filenames = ['*.ttl']
     mimetypes = ['text/x-teratermmacro']
index e52f572e8850c356c813e561379a6eb53ded6417..e45fe5216092d9f919f7b4ff7103effe71642f68 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for testing languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -16,7 +16,7 @@ __all__ = ['GherkinLexer', 'TAPLexer']
 
 class GherkinLexer(RegexLexer):
     """
-    For `Gherkin <https://github.com/aslakhellesoy/gherkin/>` syntax.
+    For Gherkin syntax.
 
     .. versionadded:: 1.2
     """
@@ -140,6 +140,7 @@ class TAPLexer(RegexLexer):
     .. versionadded:: 2.1
     """
     name = 'TAP'
+    url = 'https://testanything.org/'
     aliases = ['tap']
     filenames = ['*.tap']
 
index 68e06594f7a6475637e2e3bac388b3e00cd6c0bd..d9bf03dcdb4ae459b1b24c332dcc64dff764d2b5 100644 (file)
@@ -4,12 +4,13 @@
 
     Lexers for non-source code file types.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 from pygments.lexers.configs import ApacheConfLexer, NginxConfLexer, \
-    SquidConfLexer, LighttpdConfLexer, IniLexer, RegeditLexer, PropertiesLexer
+    SquidConfLexer, LighttpdConfLexer, IniLexer, RegeditLexer, PropertiesLexer, \
+    UnixConfigLexer
 from pygments.lexers.console import PyPyLogLexer
 from pygments.lexers.textedit import VimLexer
 from pygments.lexers.markup import BBCodeLexer, MoinWikiLexer, RstLexer, \
index 0e567bca1df548a0d25957be5bcff4c3f0584dba..1eb1b2f6777c4f70faff284a4b6ffcb98e0dcff3 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for languages related to text processing.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -83,7 +83,7 @@ class SedLexer(RegexLexer):
     mimetypes = ['text/x-sed']
     flags = re.MULTILINE
 
-    # Match the contents within delimeters such as /<contents>/
+    # Match the contents within delimiters such as /<contents>/
     _inside_delims = r'((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)'
 
     tokens = {
index 62d300a5b512103af625b6db6929295d303a7b65..e67410ac917d0af27a3e36b9ea182dbe427c5dd9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for various text formats.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -200,12 +200,13 @@ class HttpLexer(RegexLexer):
 
 class TodotxtLexer(RegexLexer):
     """
-    Lexer for `Todo.txt <http://todotxt.com/>`_ todo list format.
+    Lexer for Todo.txt todo list format.
 
     .. versionadded:: 2.0
     """
 
     name = 'Todotxt'
+    url = 'http://todotxt.com/'
     aliases = ['todotxt']
     # *.todotxt is not a standard extension for Todo.txt files; including it
     # makes testing easier, and also makes autodetecting file type easier.
@@ -300,7 +301,7 @@ class TodotxtLexer(RegexLexer):
 
 class NotmuchLexer(RegexLexer):
     """
-    For `Notmuch <https://notmuchmail.org/>`_ email text format.
+    For Notmuch email text format.
 
     .. versionadded:: 2.5
 
@@ -312,6 +313,7 @@ class NotmuchLexer(RegexLexer):
     """
 
     name = 'Notmuch'
+    url = 'https://notmuchmail.org/'
     aliases = ['notmuch']
 
     def _highlight_code(self, match):
index a7f4330a54efca5f834d8326636822ddec55b1c6..e4ed75390432ba561e378fcec8dba2e60e702986 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for theorem-proving languages.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -19,17 +19,18 @@ __all__ = ['CoqLexer', 'IsabelleLexer', 'LeanLexer']
 
 class CoqLexer(RegexLexer):
     """
-    For the `Coq <http://coq.inria.fr/>`_ theorem prover.
+    For the Coq theorem prover.
 
     .. versionadded:: 1.5
     """
 
     name = 'Coq'
+    url = 'http://coq.inria.fr/'
     aliases = ['coq']
     filenames = ['*.v']
     mimetypes = ['text/x-coq']
 
-    flags = re.UNICODE
+    flags = 0 # no re.MULTILINE
 
     keywords1 = (
         # Vernacular commands
@@ -165,12 +166,13 @@ class CoqLexer(RegexLexer):
 
 class IsabelleLexer(RegexLexer):
     """
-    For the `Isabelle <http://isabelle.in.tum.de/>`_ proof assistant.
+    For the Isabelle proof assistant.
 
     .. versionadded:: 2.0
     """
 
     name = 'Isabelle'
+    url = 'http://isabelle.in.tum.de/'
     aliases = ['isabelle']
     filenames = ['*.thy']
     mimetypes = ['text/x-isabelle']
@@ -381,18 +383,16 @@ class IsabelleLexer(RegexLexer):
 
 class LeanLexer(RegexLexer):
     """
-    For the `Lean <https://github.com/leanprover/lean>`_
-    theorem prover.
+    For the Lean theorem prover.
 
     .. versionadded:: 2.0
     """
     name = 'Lean'
+    url = 'https://github.com/leanprover/lean'
     aliases = ['lean']
     filenames = ['*.lean']
     mimetypes = ['text/x-lean']
 
-    flags = re.MULTILINE | re.UNICODE
-
     tokens = {
         'root': [
             (r'\s+', Text),
index 3b94da5744f2e9a7114b252b8ded9da2e5055456..502b63c4e5ed6798abc0d1007a476b1fc4758fb9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the ThingsDB language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index e6e71961d4cab60ada0c4eec5f0db119e26ac86e..582b2a2fdf4bb825c4baf20c0393c79c9bfb44f9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Typographic Number Theory.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -20,14 +20,13 @@ __all__ = ['TNTLexer']
 class TNTLexer(Lexer):
     """
     Lexer for Typographic Number Theory, as described in the book
-    Gödel, Escher, Bach, by Douglas R. Hofstadter,
-    or as summarized here:
-    https://github.com/Kenny2github/language-tnt/blob/master/README.md#summary-of-tnt
-
+    Gödel, Escher, Bach, by Douglas R. Hofstadter
+    
     .. versionadded:: 2.7
     """
 
     name = 'Typographic Number Theory'
+    url = 'https://github.com/Kenny2github/language-tnt'
     aliases = ['tnt']
     filenames = ['*.tnt']
 
index 67ecd243cb3c15db119f07cd6007ebb986f19d42..b8ef8243f1d13c1666199f8dcca0dc87a2de0576 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for RiverBed's TrafficScript (RTS) language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -16,7 +16,7 @@ __all__ = ['RtsLexer']
 
 class RtsLexer(RegexLexer):
     """
-    For `Riverbed Stingray Traffic Manager <http://www.riverbed.com/stingray>`_
+    For Riverbed Stingray Traffic Manager
 
     .. versionadded:: 2.1
     """
index b2e4299beb4d0f6716b6103e835a1122a1f643a8..737169a9817e985cba1de41f68e5ad08e5bfa8fe 100644 (file)
@@ -13,7 +13,7 @@
     `TypoScriptHtmlDataLexer`
         Lexer that highlights markers, constants and registers within html tags.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -100,12 +100,11 @@ class TypoScriptLexer(RegexLexer):
     """
     Lexer for TypoScript code.
 
-    http://docs.typo3.org/typo3cms/TyposcriptReference/
-
     .. versionadded:: 2.2
     """
 
     name = 'TypoScript'
+    url = 'http://docs.typo3.org/typo3cms/TyposcriptReference/'
     aliases = ['typoscript']
     filenames = ['*.typoscript']
     mimetypes = ['text/x-typoscript']
diff --git a/pygments/lexers/ul4.py b/pygments/lexers/ul4.py
new file mode 100644 (file)
index 0000000..2511cee
--- /dev/null
@@ -0,0 +1,271 @@
+"""
+    pygments.lexers.ul4
+    ~~~~~~~~~~~~~~~~~~~
+
+    Lexer for the UL4 templating language.
+
+    More information: https://python.livinglogic.de/UL4.html
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import re
+
+from pygments.lexer import RegexLexer, DelegatingLexer, bygroups, words, include
+from pygments.token import Comment, Text, Keyword, String, Number, Literal, \
+    Name, Other, Operator
+from pygments.lexers.web import HtmlLexer, XmlLexer, CssLexer, JavascriptLexer
+from pygments.lexers.python import PythonLexer
+
+
+__all__ = [
+    'UL4Lexer',
+    'HTMLUL4Lexer',
+    'XMLUL4Lexer',
+    'CSSUL4Lexer',
+    'JavascriptUL4Lexer',
+    'PythonUL4Lexer',
+]
+
+
+class UL4Lexer(RegexLexer):
+    """
+    Generic lexer for UL4.
+
+    .. versionadded:: 2.12
+    """
+
+    flags = re.MULTILINE | re.DOTALL
+
+    name = 'UL4'
+    aliases = ['ul4']
+    filenames = ['*.ul4']
+
+    tokens = {
+        "root": [
+            (
+                # Template header without name:
+                # ``<?ul4?>``
+                r"(<\?)(\s*)(ul4)(\s*)(\?>)",
+                bygroups(Comment.Preproc, Text.Whitespace, Keyword, Text.Whitespace, Comment.Preproc),
+            ),
+            (
+                # Template header with name (potentially followed by the signature):
+                # ``<?ul4 foo(bar=42)?>``
+                r"(<\?)(\s*)(ul4)(\s*)([a-zA-Z_][a-zA-Z_0-9]*)?",
+                bygroups(Comment.Preproc, Text.Whitespace, Keyword, Text.Whitespace, Name.Function),
+                "ul4", # Switch to "expression" mode
+            ),
+            (
+                # Comment:
+                # ``<?note foobar?>``
+                r"<\?\s*note\s.*?\?>",
+                Comment,
+            ),
+            (
+                # Template documentation:
+                # ``<?doc foobar?>``
+                r"<\?\s*doc\s.*?\?>",
+                String.Doc,
+            ),
+            (
+                # ``<?ignore?>`` tag for commenting out code:
+                # ``<?ignore?>...<?end ignore?>``
+                r"<\?\s*ignore\s*\?>",
+                Comment,
+                "ignore", # Switch to "ignore" mode
+            ),
+            (
+                # ``<?def?>`` tag for defining local templates
+                # ``<?def foo(bar=42)?>...<?end def?>``
+                r"(<\?)(\s*)(def)(\s*)([a-zA-Z_][a-zA-Z_0-9]*)?",
+                bygroups(Comment.Preproc, Text.Whitespace, Keyword, Text.Whitespace, Name.Function),
+                "ul4", # Switch to "expression" mode
+            ),
+            (
+                # The rest of the supported tags
+                r"(<\?)(\s*)(printx|print|for|if|elif|else|while|code|renderblocks?|render)\b",
+                bygroups(Comment.Preproc, Text.Whitespace, Keyword),
+                "ul4", # Switch to "expression" mode
+            ),
+            (
+                # ``<?end?>`` tag for ending ``<?def?>``, ``<?for?>``,
+                # ``<?if?>``, ``<?while?>``, ``<?renderblock?>`` and
+                # ``<?renderblocks?>`` blocks.
+                r"(<\?)(\s*)(end)\b",
+                bygroups(Comment.Preproc, Text.Whitespace, Keyword),
+                "end", # Switch to "end tag" mode
+            ),
+            (
+                # ``<?whitespace?>`` tag for configuring whitespace handlng
+                r"(<\?)(\s*)(whitespace)\b",
+                bygroups(Comment.Preproc, Text.Whitespace, Keyword),
+                "whitespace", # Switch to "whitespace" mode
+            ),
+            # Plain text
+            (r"[^<]+", Other),
+            (r"<", Other),
+        ],
+        # Ignore mode ignores everything upto the matching ``<?end ignore?>`` tag
+        "ignore": [
+            # Nested ``<?ignore?>`` tag
+            (r"<\?\s*ignore\s*\?>", Comment, "#push"),
+            # ``<?end ignore?>`` tag
+            (r"<\?\s*end\s+ignore\s*\?>", Comment, "#pop"),
+            # Everything else
+            (r"[^<]+", Comment),
+            (r".", Comment),
+        ],
+        # UL4 expressions
+        "ul4": [
+            # End the tag
+            (r"\?>", Comment.Preproc, "#pop"),
+            # Start triple quoted string constant
+            ("'''", String, "string13"),
+            ('"""', String, "string23"),
+            # Start single quoted string constant
+            ("'", String, "string1"),
+            ('"', String, "string2"),
+            # Floating point number
+            (r"\d+\.\d*([eE][+-]?\d+)?", Number.Float),
+            (r"\.\d+([eE][+-]?\d+)?", Number.Float),
+            (r"\d+[eE][+-]?\d+", Number.Float),
+            # Binary integer: ``0b101010``
+            (r"0[bB][01]+", Number.Bin),
+            # Octal integer: ``0o52``
+            (r"0[oO][0-7]+", Number.Oct),
+            # Hexadecimal integer: ``0x2a``
+            (r"0[xX][0-9a-fA-F]+", Number.Hex),
+            # Date or datetime: ``@(2000-02-29)``/``@(2000-02-29T12:34:56.987654)``
+            (r"@\(\d\d\d\d-\d\d-\d\d(T(\d\d:\d\d(:\d\d(\.\d{6})?)?)?)?\)", Literal.Date),
+            # Color: ``#fff``, ``#fff8f0`` etc.
+            (r"#[0-9a-fA-F]{8}", Literal.Color),
+            (r"#[0-9a-fA-F]{6}", Literal.Color),
+            (r"#[0-9a-fA-F]{3,4}", Literal.Color),
+            # Decimal integer: ``42``
+            (r"\d+", Number.Integer),
+            # Operators
+            (r"//|==|!=|>=|<=|<<|>>|\+=|-=|\*=|/=|//=|<<=|>>=|&=|\|=|^=|=|[\[\]{},:*/().~%&|<>^+-]", Operator),
+            # Keywords
+            (words(("for", "in", "if", "else", "not", "is", "and", "or"), suffix=r"\b"), Keyword),
+            # Builtin constants
+            (words(("None", "False", "True"), suffix=r"\b"), Keyword.Constant),
+            # Variable names
+            (r"[a-zA-Z_][a-zA-Z0-9_]*", Name),
+            # Whitespace
+            (r"\s+", Text.Whitespace),
+        ],
+        # ``<?end ...?>`` tag for closing the last open block
+        "end": [
+            (r"\?>", Comment.Preproc, "#pop"),
+            (words(("for", "if", "def", "while", "renderblock", "renderblocks"), suffix=r"\b"), Keyword),
+            (r"\s+", Text),
+        ],
+        # Content of the ``<?whitespace ...?>`` tag:
+        # ``keep``, ``strip`` or ``smart``
+        "whitespace": [
+            (r"\?>", Comment.Preproc, "#pop"),
+            (words(("keep", "strip", "smart"), suffix=r"\b"), Comment.Preproc),
+            (r"\s+", Text.Whitespace),
+        ],
+        # Inside a string constant
+        "stringescapes": [
+            (r"""\\[\\'"abtnfr]""", String.Escape),
+            (r"\\x[0-9a-fA-F]{2}", String.Escape),
+            (r"\\u[0-9a-fA-F]{4}", String.Escape),
+            (r"\\U[0-9a-fA-F]{8}", String.Escape),
+        ],
+        # Inside a triple quoted string started with ``'''``
+        "string13": [
+            (r"'''", String, "#pop"),
+            include("stringescapes"),
+            (r"[^\\']+", String),
+            (r'.', String),
+        ],
+        # Inside a triple quoted string started with ``"""``
+        "string23": [
+            (r'"""', String, "#pop"),
+            include("stringescapes"),
+            (r'[^\\"]+', String),
+            (r'.', String),
+        ],
+        # Inside a single quoted string started with ``'``
+        "string1": [
+            (r"'", String, "#pop"),
+            include("stringescapes"),
+            (r"[^\\']+", String),
+            (r'.', String),
+        ],
+        # Inside a single quoted string started with ``"``
+        "string2": [
+            (r'"', String, "#pop"),
+            include("stringescapes"),
+            (r'[^\\"]+', String),
+            (r'.', String),
+        ],
+    }
+
+class HTMLUL4Lexer(DelegatingLexer):
+    """
+    Lexer for UL4 embedded in HTML.
+    """
+
+    name = 'HTML+UL4'
+    aliases = ['html+ul4']
+    filenames = ['*.htmlul4']
+
+    def __init__(self, **options):
+        super().__init__(HtmlLexer, UL4Lexer, **options)
+
+
+class XMLUL4Lexer(DelegatingLexer):
+    """
+    Lexer for UL4 embedded in XML.
+    """
+
+    name = 'XML+UL4'
+    aliases = ['xml+ul4']
+    filenames = ['*.xmlul4']
+
+    def __init__(self, **options):
+        super().__init__(XmlLexer, UL4Lexer, **options)
+
+
+class CSSUL4Lexer(DelegatingLexer):
+    """
+    Lexer for UL4 embedded in CSS.
+    """
+
+    name = 'CSS+UL4'
+    aliases = ['css+ul4']
+    filenames = ['*.cssul4']
+
+    def __init__(self, **options):
+        super().__init__(CssLexer, UL4Lexer, **options)
+
+
+class JavascriptUL4Lexer(DelegatingLexer):
+    """
+    Lexer for UL4 embedded in Javascript.
+    """
+
+    name = 'Javascript+UL4'
+    aliases = ['js+ul4']
+    filenames = ['*.jsul4']
+
+    def __init__(self, **options):
+        super().__init__(JavascriptLexer, UL4Lexer, **options)
+
+
+class PythonUL4Lexer(DelegatingLexer):
+    """
+    Lexer for UL4 embedded in Python.
+    """
+
+    name = 'Python+UL4'
+    aliases = ['py+ul4']
+    filenames = ['*.pyul4']
+
+    def __init__(self, **options):
+        super().__init__(PythonLexer, UL4Lexer, **options)
index 4a76a0f821d9b1d193c4a20417a4e21ccecb51ef..3d7311abefd37de42c9bbddb08b68685e2e041e9 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Icon and Unicon languages, including ucode VM.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index d9c1c9f82c0a7992b0f6c0045bab20b1a7a6a85d..f197d590e5941fad5ec921aeb614c5e314491842 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for UrbiScript language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -51,7 +51,7 @@ class UrbiscriptLexer(ExtendedRegexLexer):
             ctx.pos += len(result)
             return
 
-        # if blob is well formated, yield as Escape
+        # if blob is well formatted, yield as Escape
         blob_text = blob_start + ctx.text[match.end():match.end()+blob_size] + ")"
         yield match.start(), String.Escape, blob_text
         ctx.pos = match.end() + blob_size + 1  # +1 is the ending ")"
@@ -78,9 +78,9 @@ class UrbiscriptLexer(ExtendedRegexLexer):
                 'struct', 'template', 'typedef', 'typeid', 'typename', 'union',
                 'unsigned', 'using', 'virtual', 'volatile', 'wchar_t'), suffix=r'\b'),
              Keyword.Reserved),
-            # deprecated keywords, use a meaningfull token when available
+            # deprecated keywords, use a meaningful token when available
             (r'(emit|foreach|internal|loopn|static)\b', Keyword),
-            # ignored keywords, use a meaningfull token when available
+            # ignored keywords, use a meaningful token when available
             (r'(private|protected|public)\b', Keyword),
             (r'(var|do|const|function|class)\b', Keyword.Declaration),
             (r'(true|false|nil|void)\b', Keyword.Constant),
index 2b4ace862c2f73d1eb7362c092b597a47b6a3e5c..8c8e5a6bef7c6baa82ca37d6bf51c77ddbc49d47 100644 (file)
@@ -4,7 +4,7 @@
 
     The module that parses Pixar's Universal Scene Description file format.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -35,6 +35,7 @@ class UsdLexer(RegexLexer):
     """
 
     name = "USD"
+    url = 'https://graphics.pixar.com/usd/release/index.html'
     aliases = ["usd", "usda"]
     filenames = ["*.usd", "*.usda"]
 
index 618049be5b5399031866bfe7fe4313ec8aa741d9..c06d688616a21f7463c1bcdcba87e0612a450e1f 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Varnish configuration
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 2d473ae81288b41d4c0b2041f6b4adfae4538778..1721d7792415a1338501c4a74910bdad938adabc 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for Intermediate Verification Languages (IVLs).
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,11 +17,12 @@ __all__ = ['BoogieLexer', 'SilverLexer']
 
 class BoogieLexer(RegexLexer):
     """
-    For `Boogie <https://boogie.codeplex.com/>`_ source code.
+    For Boogie source code.
 
     .. versionadded:: 2.1
     """
     name = 'Boogie'
+    url = 'https://boogie-docs.readthedocs.io/en/latest/'
     aliases = ['boogie']
     filenames = ['*.bpl']
 
@@ -64,7 +65,7 @@ class BoogieLexer(RegexLexer):
 
 class SilverLexer(RegexLexer):
     """
-    For `Silver <https://bitbucket.org/viperproject/silver>`_ source code.
+    For Silver source code.
 
     .. versionadded:: 2.2
     """
index a186048888203b0c8f4fadd9912347a462df2cae..4acd3dd6d0122f6a5ee31f1cc46ca2c1c51eea2b 100644 (file)
@@ -4,7 +4,7 @@
 
     Just export previously exported lexers.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index d8d84b5c4766fb31e08373a02e70097b5f05aa83..e10884f24259b5c09d2c83688f7dc04233ff1ba2 100644 (file)
@@ -8,7 +8,7 @@
     and https://webassembly.github.io/spec/core/text/.
 
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -62,12 +62,13 @@ builtins = (
 
 
 class WatLexer(RegexLexer):
-    """Lexer for the `WebAssembly text format <https://webassembly.org/>`_.
+    """Lexer for the WebAssembly text format.
 
     .. versionadded:: 2.9
     """
 
     name = 'WebAssembly'
+    url = 'https://webassembly.org/'
     aliases = ['wast', 'wat']
     filenames = ['*.wat', '*.wast']
 
index d805484c74910871411d5586fa916fb69dd2cc09..3a8460d44ad5c296d0be937550f9ed31198c95e3 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Web IDL, including some extensions.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -44,6 +44,7 @@ class WebIDLLexer(RegexLexer):
     """
 
     name = 'Web IDL'
+    url = 'https://www.w3.org/wiki/Web_IDL'
     aliases = ['webidl']
     filenames = ['*.webidl']
 
index b1fd45552557d32597d71136d9ee3059ac220754..187d641e1f625f6377e2b2d712b93ffd11bf3370 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for misc. web stuff.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -26,13 +26,12 @@ __all__ = ['DuelLexer', 'SlimLexer', 'XQueryLexer', 'QmlLexer', 'CirruLexer']
 class DuelLexer(RegexLexer):
     """
     Lexer for Duel Views Engine (formerly JBST) markup with JavaScript code blocks.
-    See http://duelengine.org/.
-    See http://jsonml.org/jbst/.
-
+    
     .. versionadded:: 1.4
     """
 
     name = 'Duel'
+    url = 'http://duelengine.org/'
     aliases = ['duel', 'jbst', 'jsonml+bst']
     filenames = ['*.duel', '*.jbst']
     mimetypes = ['text/x-duel', 'text/x-jbst']
@@ -64,6 +63,7 @@ class XQueryLexer(ExtendedRegexLexer):
     .. versionadded:: 1.4
     """
     name = 'XQuery'
+    url = 'https://www.w3.org/XML/Query/'
     aliases = ['xquery', 'xqy', 'xq', 'xql', 'xqm']
     filenames = ['*.xqy', '*.xquery', '*.xq', '*.xql', '*.xqm']
     mimetypes = ['text/xquery', 'application/xquery']
@@ -111,7 +111,7 @@ class XQueryLexer(ExtendedRegexLexer):
     #                 aposattrcontentchar
     # x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
 
-    flags = re.DOTALL | re.MULTILINE | re.UNICODE
+    flags = re.DOTALL | re.MULTILINE
 
     def punctuation_root_callback(lexer, match, ctx):
         yield match.start(), Punctuation, match.group(1)
@@ -792,7 +792,7 @@ class XQueryLexer(ExtendedRegexLexer):
 
 class QmlLexer(RegexLexer):
     """
-    For QML files. See http://doc.qt.digia.com/4.7/qdeclarativeintroduction.html.
+    For QML files.
 
     .. versionadded:: 1.6
     """
@@ -801,6 +801,7 @@ class QmlLexer(RegexLexer):
     # JavascriptLexer above.
 
     name = 'QML'
+    url = 'https://doc.qt.io/qt-6/qmlapplications.html'
     aliases = ['qml', 'qbs']
     filenames = ['*.qml', '*.qbs']
     mimetypes = ['application/x-qml', 'application/x-qt.qbs+qml']
@@ -865,9 +866,6 @@ class QmlLexer(RegexLexer):
 
 class CirruLexer(RegexLexer):
     r"""
-    Syntax rules of Cirru can be found at:
-    http://cirru.org/
-
     * using ``()`` for expressions, but restricted in a same line
     * using ``""`` for strings, with ``\`` for escaping chars
     * using ``$`` as folding operator
@@ -878,6 +876,7 @@ class CirruLexer(RegexLexer):
     """
 
     name = 'Cirru'
+    url = 'http://cirru.org/'
     aliases = ['cirru']
     filenames = ['*.cirru']
     mimetypes = ['text/x-cirru']
index 82b100bc45ac77c1fea2a61d98ec7c54b6a9b788..ad9f2dc56f10159fbff58a0683ef78186c1d46ea 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the Whiley language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -22,6 +22,7 @@ class WhileyLexer(RegexLexer):
     .. versionadded:: 2.2
     """
     name = 'Whiley'
+    url = 'http://whiley.org/'
     filenames = ['*.whiley']
     aliases = ['whiley']
     mimetypes = ['text/x-whiley']
index a5aff36d49ef28599d00fd71c2ab23f10bd7f340..855b8ccb586f4d6d7ae70a0a8542559c0e5cfbaf 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for the X10 programming language.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -21,6 +21,7 @@ class X10Lexer(RegexLexer):
     """
 
     name = 'X10'
+    url = 'http://x10-lang.org/'
     aliases = ['x10', 'xten']
     filenames = ['*.x10']
     mimetypes = ['text/x-x10']
index 490b7c1d186acb2176fa87e6ea987b4bf29bd0d7..54f131fee519920c9e45fe527f40964c9b242fe6 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Xorg configs.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,6 +17,7 @@ __all__ = ['XorgLexer']
 class XorgLexer(RegexLexer):
     """Lexer for xorg.conf file."""
     name = 'Xorg'
+    url = 'https://www.x.org/wiki/'
     aliases = ['xorg.conf']
     filenames = ['xorg.conf']
     mimetypes = []
index 4452df2d566dcea9f9e74ae72524705542aa4274..0e68cb828f9e9608ec0ba6e0a044892cf919bbb6 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexer for the YANG 1.1 modeling language. See :rfc:`7950`.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -16,11 +16,12 @@ __all__ = ['YangLexer']
 
 class YangLexer(RegexLexer):
     """
-    Lexer for `YANG <https://tools.ietf.org/html/rfc7950/>`_, based on RFC7950
+    Lexer for YANG, based on RFC7950.
 
     .. versionadded:: 2.7
     """
     name = 'YANG'
+    url = 'https://tools.ietf.org/html/rfc7950/'
     aliases = ['yang']
     filenames = ['*.yang']
     mimetypes = ['application/yang']
index 4a36832be557caa888fe14e3e8265692acc12d24..3101154ae59db4f6cc1e8c96ee27f95ee15b7ee7 100644 (file)
@@ -4,7 +4,7 @@
 
     Lexers for Zig.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,11 +17,10 @@ __all__ = ['ZigLexer']
 
 class ZigLexer(RegexLexer):
     """
-    For `Zig <http://www.ziglang.org>`_ source code.
-
     grammar: https://ziglang.org/documentation/master/#Grammar
     """
     name = 'Zig'
+    url = 'http://www.ziglang.org'
     aliases = ['zig']
     filenames = ['*.zig']
     mimetypes = ['text/zig']
index 047d86d6be6a25ae26fba26d959bf2a1609f7dc8..43630835ca677066a315ac0a04d17cb6839da38d 100644 (file)
@@ -4,7 +4,7 @@
 
     A simple modeline parser (based on pymodeline).
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index b1085b7ae4e1b39ceb3fca62015d7335c9e72a83..247d5083b6ec70a50ae5341635af695b34d24764 100644 (file)
@@ -31,7 +31,7 @@
         yourfilter = yourfilter:YourFilter
 
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 LEXER_ENTRY_POINT = 'pygments.lexers'
index cb2c8e21a9e3ab9b6b58df67e9cfd08f4977ef30..ae0079199b9b026f327aaaa729411f1a43c6cb60 100644 (file)
@@ -5,7 +5,7 @@
     An algorithm that generates optimized regexes for matching long lists of
     literal strings.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 5f32a22c3c0ede8131fb1ab6b32e43446da6a634..d47ed4828a0a671d46908a25f6ef0733801d6fb9 100644 (file)
@@ -11,7 +11,7 @@
     Have a look at the `DelphiLexer` to get an idea of how to use
     this scanner.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 import re
@@ -72,7 +72,7 @@ class Scanner:
     def scan(self, pattern):
         """
         Scan the text for the given pattern and update pos/match
-        and related fields. The return value is a boolen that
+        and related fields. The return value is a boolean that
         indicates if the pattern matched. The matched value is
         stored on the instance as ``match``, the last value is
         stored as ``last``. ``start_pos`` is the position of the
index 644eb8c338b7ea6ea0905c910c6f4d5f7b3b68e1..f1405eb82b6de416f023ca499ba22277951c336b 100644 (file)
@@ -5,7 +5,7 @@
     Sphinx extension to generate automatic documentation of lexers,
     formatters and filters.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 88ccaf263c0da3fb709f43a7df95a569eeeea3d8..8faa4dc7ba8a1ba7eb38013f45b25f277b9435a9 100644 (file)
@@ -4,7 +4,7 @@
 
     Basic style object.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index d75de1a521b3a904841addc5292cfa63cd51e1b3..7d72ceba1c7a9a03445ca2a7337a4598bb60367a 100644 (file)
@@ -4,7 +4,7 @@
 
     Contains built-in styles.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 1e51e0502133f9e5e78559d0101c9d80f2a811d8..8629e66c44a8e7c35638d19bbf4dd56908e7e45b 100644 (file)
@@ -4,7 +4,7 @@
 
     ABAP workbench like style.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index f293b0eca94f34ede9190949b10a1048841c49a5..d6b4926a76741ee6f8c3e19734e17dfa0f264737 100644 (file)
@@ -25,7 +25,7 @@
 
     [1] `Revised Report on the Algorithmic Language Algol-60 <http://www.masswerk.at/algol60/report.htm>`
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index fe2846693bf8b5241b1c74a831e78427c878e171..68bdb7eca186c7d3820e51c54ba25ef9a8e73458 100644 (file)
@@ -25,7 +25,7 @@
 
     [1] `Revised Report on the Algorithmic Language Algol-60 <http://www.masswerk.at/algol60/report.htm>`
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 4dfe0f3ce2793611843a7ca4a2f8b8c848bdd9db..08782c73d63b4fcef7ba8f11379724ae8d9c91c1 100644 (file)
@@ -4,7 +4,7 @@
 
     Arduino® Syntax highlighting style.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -16,7 +16,7 @@ from pygments.token import Keyword, Name, Comment, String, Error, \
 class ArduinoStyle(Style):
     """
     The Arduino® language style. This style is designed to highlight the
-    Arduino source code, so exepect the best results with it.
+    Arduino source code, so expect the best results with it.
     """
 
     background_color = "#ffffff"
index 85fd8982a9d5a68b34291612f4711f7f46773562..878b55d5f17d43726786a96e18cd26768d691ca5 100644 (file)
@@ -4,7 +4,7 @@
 
     A colorful style, inspired by the terminal highlighting style.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 427e149f2fa04b266cc77a6a77c658d0549fe396..ecdff617db089005fefeef3cef851adbc2290709 100644 (file)
@@ -4,7 +4,7 @@
 
     Style similar to the style used in the Borland IDEs.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 1b385387617eca7354c601a93d6bf2b7d7e88f2d..3a92d82c3fdd5d481ca04e138a565b30af0d1321 100644 (file)
@@ -4,7 +4,7 @@
 
     Simple black/white only style.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index a67b8e3e6150122ef64f71ea8c1511a4b33d3f9a..ad7b0828ad582a7db7a1ef61ab1de7623261e0e4 100644 (file)
@@ -4,7 +4,7 @@
 
     A colorful style, inspired by CodeRay.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index c69325f432e499bede5b0b22895dfbf8ace5ce1f..531f9565c7fa250dc1a810c53160cc6439205f83 100644 (file)
@@ -4,7 +4,7 @@
 
     The default highlighting style.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 99d6a518623906eb4969f64514a8a42c314153af..0b75efe55995696e4a0654b31ab560b4b49cc3d2 100644 (file)
@@ -7,7 +7,7 @@
     Based on the Dracula Theme for pygments by Chris Bracco.
     See https://github.com/dracula/pygments/tree/fee9ed5613d1086bc01b9d0a5a0e9867a009f571
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index e9cbc33da82002051adfef3ba150255f7fd9394b..d0a8cb67db1d1f0ea608fd7dab85402a2cdd3de9 100644 (file)
@@ -4,7 +4,7 @@
 
     A highlighting style for Pygments, inspired by Emacs.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 82f24794759158bfb001f5f58e72eda95f1d943b..c8a94a9e38c6d1fdb4b1e017361ecf448b66dd72 100644 (file)
@@ -4,7 +4,7 @@
 
     A modern style based on the VIM pyte theme.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index eb35026406949dedea9e160d4e2763a17dd555fc..58b09c9175dde7473cac91e07335bc8098a3a1e5 100644 (file)
@@ -7,7 +7,7 @@
     using the luminosity value calculated by
     http://www.workwithcolor.com/color-converter-01.htm
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 2446915d66da02fbaac4d220d896b3b4ceda3b40..2151565d598673ba25a1cd553f19392ae5993072 100644 (file)
@@ -4,7 +4,7 @@
 
     pygments version of my "fruity" vim theme.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 1077e6d86fa842f2118723704eca07bfc4a53566..24c398317227cf04e60543167c626c74a952e1cc 100644 (file)
@@ -5,7 +5,7 @@
     pygments version of the "gruvbox" vim theme.
     https://github.com/morhetz/gruvbox
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 278e9da1d46e8fd442088eca43310d03e833f1aa..a38481ba8f5302800fb0655b0d92972fa28c146d 100644 (file)
@@ -4,7 +4,7 @@
 
     Igor Pro default style.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index d2eff2c8d58caa02669646f20e55f70afafd0e03..891c722318a07f842cb21f749124e34b5b4b281a 100644 (file)
@@ -4,7 +4,7 @@
 
     A highlighting style for Pygments, inspired by the Inkpot theme for VIM.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index fe364fb996779dba47d7f63dec03e7e40b9e92ca..f2d690ccddb6df1f95c74debd7eda7f7da714134 100644 (file)
@@ -4,7 +4,7 @@
 
     LilyPond-specific style.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index ec8d2a9106e09c0b5009e3a1326c9472d4286483..ca83135c90908a98e9d5871bd6aba2c5a7835349 100644 (file)
@@ -8,7 +8,7 @@
     A desaturated, somewhat subdued style created for the Lovelace interactive
     learning environment.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 167dcebd5a0ecc31c0725f3175e49461e9a5e4c0..f5fe876422d1c9a83f6e5ad2467c8ca5fccc0bc8 100644 (file)
@@ -7,7 +7,7 @@
     This is a port of the style used in the `php port`_ of pygments
     by Manni. The style is called 'default' there.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index c7012fe51653f5dc284a1e7d1ddc00f086c86591..8acb3bc6e43c0b1847c02894afe4ba663d929e5b 100644 (file)
@@ -6,7 +6,7 @@
 
     https://github.com/material-theme/vsc-material-theme
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9de82f35efbb015e1b49d501d17a7accd0793016..610dc0ae0aac377b45e07b8d72e8fd37ddc888dd 100644 (file)
@@ -6,7 +6,7 @@
 
     http://www.monokai.nl/blog/2006/07/15/textmate-color-theme/
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9115c2d87f712dbc45e097b4454a78d32d21082e..e07c755b5e7a564cf67b2fc64c152013ac9b6525 100644 (file)
@@ -4,7 +4,7 @@
 
     Murphy's style from CodeRay.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9c2f2c16b83a2fe0b2c3a1cfb7644c27d1e6f950..fa4687c71fc5835e7d4c2fb73ebaf9d25e0a2af7 100644 (file)
@@ -4,7 +4,7 @@
 
     pygments version of my "native" vim theme.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -26,27 +26,27 @@ class NativeStyle(Style):
         Token:              '#d0d0d0',
         Whitespace:         '#666666',
 
-        Comment:            'italic #999999',
+        Comment:            'italic #ababab',
         Comment.Preproc:    'noitalic bold #cd2828',
         Comment.Special:    'noitalic bold #e50808 bg:#520000',
 
-        Keyword:            'bold #6ab825',
+        Keyword:            'bold #6ebf26',
         Keyword.Pseudo:     'nobold',
-        Operator.Word:      'bold #6ab825',
+        Operator.Word:      'bold #6ebf26',
 
         String:             '#ed9d13',
         String.Other:       '#ffa500',
 
-        Number:             '#3677a9',
+        Number:             '#51b2fd',
 
-        Name.Builtin:       '#24909d',
+        Name.Builtin:       '#2fbccd',
         Name.Variable:      '#40ffff',
         Name.Constant:      '#40ffff',
-        Name.Class:         'underline #447fcf',
-        Name.Function:      '#447fcf',
-        Name.Namespace:     'underline #447fcf',
+        Name.Class:         'underline #71adff',
+        Name.Function:      '#71adff',
+        Name.Namespace:     'underline #71adff',
         Name.Exception:     '#bbbbbb',
-        Name.Tag:           'bold #6ab825',
+        Name.Tag:           'bold #6ebf26',
         Name.Attribute:     '#bbbbbb',
         Name.Decorator:     '#ffa500',
 
index b6a33b50d6ecec5fc0bd20dbd6a852e29e6345b2..91ace5b51c31a4b68d265fbe6fbef8ef37021489 100644 (file)
@@ -7,7 +7,7 @@
     Inspired by one-dark-ui for the code editor Atom
     (https://atom.io/themes/one-dark-ui).
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 0c98f0058deb86c8cde13aa1734b648830622f6f..6f200bf4c2f6259fa6e910a06919cbd682119823 100644 (file)
@@ -8,7 +8,7 @@
     Created with Base16 Builder by Chris Kempson
     (https://github.com/chriskempson/base16-builder).
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 4c9f1392ac6ffaf9575da6e57c55b0be6e2024ea..bc164f076ece73d6ae6bbe1016f992fc9bf8870d 100644 (file)
@@ -8,7 +8,7 @@
     Created with Base16 Builder by Chris Kempson
     (https://github.com/chriskempson/base16-builder).
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 14ec7007f564d624731a2b5144ca23caba528d6f..41814e27e111031b4efd4d1af0bccb59623809ab 100644 (file)
@@ -6,7 +6,7 @@
 
     .. _pastie: http://pastie.caboo.se/
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 5eae210fd8b323b772fbdfe9620014d93a25c7f5..eaea0abcc7ffcdca0821eb2f1b898a38951cd25f 100644 (file)
@@ -6,7 +6,7 @@
 
     .. _perldoc: http://perldoc.perl.org/
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 3996332a25ef6599df805a2766fdda2c1b117d1e..fa0e0ca5a6f7d97203027f3fdd73823b5ccccb3a 100644 (file)
@@ -6,7 +6,7 @@
 
     .. _theme: http://sanssecours.github.io/Rainbow-Dash.tmbundle
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 0b58152d4c87d574417f74d80e4fb51510acb4f9..ce248f689a704384129f55dfe8c83ff9babd80a4 100644 (file)
@@ -4,7 +4,7 @@
 
     pygments "rrt" theme, based on Zap and Emacs defaults.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index ed5eb2666a38a80abb072d068c33cf3e7b21a04e..b64b14b5f1eef028c2af2c735b8ff870d9b7fbb9 100644 (file)
@@ -6,7 +6,7 @@
     meant to be a complete style. It's merely meant to mimic SAS'
     program editor syntax highlighting.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 1e051eb4777d4d3375475e5b4d0c655fcda980c7..fc382355e270e514a06484d58bd028d47aa12bf0 100644 (file)
@@ -7,7 +7,7 @@
     A Pygments style for the Solarized themes (licensed under MIT).
     See: https://github.com/altercation/solarized
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 86d23be002e21ab0d32be8e8b7b9b144e951d4be..c05f962e5ac95a4218d4d1ba006a23ad7a086b92 100644 (file)
@@ -6,7 +6,7 @@
     meant to be a complete style, just for Stata's file formats.
 
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9dead703dc721b3a2dbf827c4b3898f7fa76dcea..c97fef12ee97798b9c287b62be6d18eabdc0a5f4 100644 (file)
@@ -5,7 +5,7 @@
     Light Style inspired by Stata's do-file editor. Note this is not
     meant to be a complete style, just for Stata's file formats.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 7a2f005b6c7a801c00132a4a2baaaa469e6f4c7b..7012a34132ec1fc63ca1a0e70f00e4b199cfbebc 100644 (file)
@@ -32,7 +32,7 @@
     have been chosen to have the same style.  Similarly, keywords (Keyword.*),
     and Operator.Word (and, or, in) have been assigned the same style.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index b2a1fd4d2ead6998301bc0514c12152db1aed2a0..0885ced8f29b1ec6831a9b3c607014ff6b8381f0 100644 (file)
@@ -4,7 +4,7 @@
 
     Port of the default trac highlighter design.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index f498606bdbcefe2daf45421700bdba9ca31b3e85..074a37bbe2b6b75485f7090fae427836f5c6f276 100644 (file)
@@ -4,7 +4,7 @@
 
     A highlighting style for Pygments, inspired by vim.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index a504f912a2490b7fbcd039d07857dbe654966fb8..01a51c0db01e3ecf18eda9561dc3610904534ef7 100644 (file)
@@ -4,7 +4,7 @@
 
     Simple style with MS Visual Studio colors.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index fd8621e7d1e734e4ba13366bdb85f249be8acc1a..e1ac936f35d689e3c97a0bb00b1dba0e7d2e680d 100644 (file)
@@ -4,7 +4,7 @@
 
     Style similar to the `Xcode` default theme.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 8797df7f251f4541fec589084bff63e339f24659..1bebb1d97ad69502de0b99dddd020108eaeff701 100644 (file)
@@ -7,7 +7,7 @@
     See: https://kippura.org/zenburnpage/
          https://github.com/jnurmine/Zenburn
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9013acb709c231380df66186c40247a88fcb6dc9..8aee88a83501c1f65a47802e2ee625a6c07cc528 100644 (file)
@@ -4,7 +4,7 @@
 
     Basic token types and the standard tokens.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 2872985c14e205bc2d464e64c768a1bfc816ad40..2e3c80869d9c1a70ee003d054a53f49c3f53a556 100644 (file)
@@ -7,7 +7,7 @@
 
     Inspired by chartypes_create.py from the MoinMoin project.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -122,7 +122,7 @@ if __name__ == '__main__':  # pragma: no cover
         c = chr(code)
         cat = unicodedata.category(c)
         if ord(c) == 0xdc00:
-            # Hack to avoid combining this combining with the preceeding high
+            # Hack to avoid combining this combining with the preceding high
             # surrogate, 0xdbff, when doing a repr.
             c = '\\' + c
         elif ord(c) in (0x2d, 0x5b, 0x5c, 0x5d, 0x5e):
index 5d6ddc3f5bc63092db67d083389b34162b1fea71..8032962dc994bd2b62e98f02016c88d0994e2f58 100644 (file)
@@ -4,7 +4,7 @@
 
     Utility functions.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -23,7 +23,7 @@ doctype_lookup_re = re.compile(r'''
      [^>]*>
 ''', re.DOTALL | re.MULTILINE | re.VERBOSE)
 tag_re = re.compile(r'<(.+?)(\s.*?)?>.*?</.+?>',
-                    re.UNICODE | re.IGNORECASE | re.DOTALL | re.MULTILINE)
+                    re.IGNORECASE | re.DOTALL | re.MULTILINE)
 xml_decl_re = re.compile(r'\s*<\?xml[^>]*\?>', re.I)
 
 
index 055446cfbc89ebad9a29566dd14c695c3f31c3d7..c03b68df313ba0e623e35747ce80c02b36723f10 100644 (file)
@@ -3,10 +3,10 @@
     Checker for line endings
     ~~~~~~~~~~~~~~~~~~~~~~~~
 
-    Make sure Python (.py) and Bash completition (.bashcomp) files do not
+    Make sure Python (.py) and Bash completion (.bashcomp) files do not
     contain CR/LF newlines.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index e747357a5b8da25b2812c41393836a28eee33fc4..7226098dc8b80351c691516f7a1f3b6e969cb20e 100755 (executable)
@@ -23,7 +23,7 @@
     bloated output and are usually an indication that someone is missing a + or *
     in the regex. 
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 import argparse
index cd3409ff5e03a23b7577949880afac0dbc6b95d6..1feb1a33a1cc540a3822aab8761ccab970920c9f 100755 (executable)
@@ -6,7 +6,7 @@
     Make sure each Python file has a correct file header
     including copyright and license information.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -33,10 +33,10 @@ def checker(*suffixes, **kwds):
 
 
 name_mail_re = r'[\w ]+(<.*?>)?'
-copyright_re = re.compile(r'^    :copyright: Copyright 2006-2021 by '
-                          r'the Pygments team, see AUTHORS\.$', re.UNICODE)
+copyright_re = re.compile(r'^    :copyright: Copyright 2006-2022 by '
+                          r'the Pygments team, see AUTHORS\.$')
 copyright_2_re = re.compile(r'^                %s(, %s)*[,.]$' %
-                            (name_mail_re, name_mail_re), re.UNICODE)
+                            (name_mail_re, name_mail_re))
 is_const_re  = re.compile(r'if.*?==\s+(None|False|True)\b')
 
 misspellings = ["developement", "adress", "verificate",  # ALLOW-MISSPELLING
index 85fcdbe364bcb1c70475c99b98df90015d7fb6f5..e235cc40a85f57ce2b8c072fb527a2b06705640a 100755 (executable)
@@ -32,8 +32,8 @@ be used to find typos in token names, as those tokens are only used by one lexer
 
 .. 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
+    parent tokens. I.e. if we have 10 occurrences of the token
+    ``Token.Literal.Number.Integer`` and 10 occurrences 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.
index 5cc0ef6f9781cc3560d563527b576e82d6f39286..6323d9c3409902c713605a0d56d5d3e19cd17e53 100755 (executable)
@@ -7,7 +7,7 @@
     the text where Error tokens are being generated, along
     with some context.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -36,7 +36,7 @@ class DebuggingRegexLexer(ExtendedRegexLexer):
         """
         Split ``text`` into (tokentype, text) pairs.
 
-        ``stack`` is the inital stack (default: ``['root']``)
+        ``stack`` is the initial stack (default: ``['root']``)
         """
         tokendefs = self._tokens
         self.ctx = ctx = LexerContext(text, 0)
index 8b0d14b3ee7f03d3ca69122a957578f9052a6c11..c377b0b65d7bbb1e359e5314d1fddc4ba2fd2eec 100644 (file)
@@ -2,7 +2,7 @@
     detect_missing_analyse_text
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -17,19 +17,17 @@ import argparse
 def main(args):
     uses = {}
 
-    for name, aliases, filenames, mimetypes in get_all_lexers():
+    for name, aliases, filenames, mimetypes in get_all_lexers(plugins=False):
         cls = find_lexer_class(name)
         if not cls.aliases and not args.skip_no_aliases:
             print(cls, "has no aliases")
         for f in filenames:
-            if f not in uses:
-                uses[f] = []
-            uses[f].append(cls)
+            uses.setdefault(f, []).append(cls)
 
     ret = 0
     for k, v in uses.items():
         if len(v) > 1:
-            #print "Multiple for", k, v
+            # print("Multiple for", k, v)
             for i in v:
                 if i.analyse_text is None:
                     print(i, "has a None analyse_text")
@@ -43,8 +41,8 @@ def main(args):
 if __name__ == '__main__':
     parser = argparse.ArgumentParser()
     parser.add_argument('--skip-no-aliases',
-        help='Skip checks for a lexer with no aliases',
-        action='store_true',
-        default=False)
+                        help='Skip checks for a lexer with no aliases',
+                        action='store_true',
+                        default=False)
     args = parser.parse_args()
     sys.exit(main(args))
diff --git a/scripts/get_css_properties.py b/scripts/get_css_properties.py
new file mode 100644 (file)
index 0000000..3afe98e
--- /dev/null
@@ -0,0 +1,33 @@
+"""
+    get_css_properties
+    ~~~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+
+from pygments.util import format_lines
+import json
+import urllib.request
+
+HEADER = '''\
+"""
+    pygments.lexers._css_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    This file is autogenerated by scripts/get_css_properties.py
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+'''
+
+if __name__ == "__main__":
+    data_request = urllib.request.urlopen('https://www.w3.org/Style/CSS/all-properties.en.json')
+    data = json.load(data_request)
+    names = set([p['property'] for p in data if p['property'] != '--*'])
+
+    with open('../pygments/lexers/_css_builtins.py', 'w') as builtin_file:
+        builtin_file.write(HEADER)
+        builtin_file.write(format_lines('_css_properties', sorted(names)))
index 20650a73200dbd2b798a617ca1ce193dff8dc68f..0b2d82ec04516f97b7f5be8e6c9dc10715510be7 100644 (file)
@@ -14,7 +14,7 @@ HEADER = '''\
 
     This file is autogenerated by scripts/get_vimkw.py
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index aa04e12e53f8f358966a10abb6d1d3a070d96f21..b602eaae11242b993603930db3021cbe2a53b036 100644 (file)
@@ -1,6 +1,6 @@
 # lint Python modules using external checkers.
 # 
-# This is the main checker controling the other ones and the reports
+# This is the main checker controlling the other ones and the reports
 # generation. It is itself both a raw checker and an astng checker in order
 # to:
 # * handle message activation / deactivation at the module level
@@ -66,12 +66,12 @@ include-ids=yes
 # written in a file name "pylint_global.[txt|html]".
 files-output=no
 
-# Tells wether to display a full report or only the messages
+# Tells whether to display a full report or only the messages
 reports=yes
 
 # Python expression which should return a note less than 10 (10 is the highest
 # note).You have access to the variables errors warning, statement which
-# respectivly contain the number of errors / warnings messages and the total
+# respectively contain the number of errors / warnings messages and the total
 # number of statements analyzed. This is used by the global evaluation report
 # (R0004).
 evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
@@ -91,11 +91,11 @@ comment=no
 # * unused variables / imports
 # * undefined variables
 # * redefinition of variable from builtins or from an outer scope
-# * use of variable before assigment
+# * use of variable before assignment
 # 
 [VARIABLES]
 
-# Tells wether we should check for unused import in __init__ files.
+# Tells whether we should check for unused import in __init__ files.
 init-import=no
 
 # A regular expression matching names used for dummy variables (i.e. not used).
@@ -110,7 +110,7 @@ additional-builtins=
 # 
 [TYPECHECK]
 
-# Tells wether missing members accessed in mixin class should be ignored. A
+# Tells whether missing members accessed in mixin class should be ignored. A
 # mixin class is detected if its name ends with "mixin" (case insensitive).
 ignore-mixin-members=yes
 
@@ -118,7 +118,7 @@ ignore-mixin-members=yes
 # access to some undefined attributes.
 zope=no
 
-# List of members which are usually get through zope's acquisition mecanism and
+# List of members which are usually get through zope's acquisition mechanism and
 # so shouldn't trigger E0201 when accessed (need zope=yes to be considered).
 acquired-members=REQUEST,acl_users,aq_parent
 
@@ -126,7 +126,7 @@ acquired-members=REQUEST,acl_users,aq_parent
 # checks for :
 # * doc strings
 # * modules / classes / functions / methods / arguments / variables name
-# * number of arguments, local variables, branchs, returns and statements in
+# * number of arguments, local variables, branches, returns and statements in
 # functions, methods
 # * required module attributes
 # * dangerous default values as arguments
@@ -241,7 +241,7 @@ int-import-graph=
 # checks for :
 # * methods without self as first argument
 # * overridden methods signature
-# * access only to existant members via self
+# * access only to existent members via self
 # * attributes not defined in the __init__ method
 # * supported interfaces implementation
 # * unreachable code
index b68316955146cc2098d5772d58e83adb01c90cf6..ec9b63b72cb8a24a7e01a3e925ba860df2638ae8 100755 (executable)
@@ -6,7 +6,7 @@
     This script converts vim colorscheme files to valid pygments
     style classes meant for putting into modules.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index b00f28a62f6f6525c023573eaae3b2d40bc7b1f3..e65d7f92628fc8c8ce17ec87ac16004a38c52c1f 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -18,7 +18,6 @@ classifiers =
        Operating System :: OS Independent
        Programming Language :: Python
        Programming Language :: Python :: 3
-       Programming Language :: Python :: 3.5
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
        Programming Language :: Python :: 3.8
@@ -38,7 +37,7 @@ project_urls =
 packages = find:
 zip_safe = false
 include_package_data = true
-python_requires = >=3.5
+python_requires = >=3.6
 
 [options.packages.find]
 include = 
index 0b017eeef646e8ca09cd9de62bafd35722562140..3248d17a2cded249c84285ddb44ccc94703541ba 100644 (file)
@@ -2,6 +2,6 @@
     Pygments test package
     ~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
index 2b279423e95625f5c4b01cf14273ee78c1becea4..e3cb2c0cbee7ec422bac4048b2027506fd1946b6 100644 (file)
@@ -12,7 +12,7 @@
     The directory must match the alias of the lexer to be used.
     Populate only the input, then just `--update-goldens`.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
diff --git a/tests/examplefiles/berry/berry.be b/tests/examplefiles/berry/berry.be
new file mode 100644 (file)
index 0000000..8822578
--- /dev/null
@@ -0,0 +1,405 @@
+#
+# single line comment
+var a = "test" # inline comment
+    # single line comment
+#- multi line comment on single line -#
+#- 
+    comment line 1
+    comment line 2
+-#
+#--------------------
+ comment line 1
+ comment line 2
+--------------------#
+#--------------------
+# comment line 1
+# comment line 2
+#--------------------#
+
+var hex_num = 0xFF
+var int_num = 30, neg_integer = -23
+var real_num = 3.1e-3
+
+import string as mystring
+
+class my_parent_class end
+
+class my_static_class: my_parent_class
+    var param1, param2
+    static param = nil
+    static param3 = "string"
+    static param4 = 'string\n'
+    static def func1(s)
+        print(mystring.format("hello %s", str(s)))
+        print(s)
+    end
+    def init(param)
+        assert(param != nil)
+        var temp1 = isinstance(param, map)
+        var temp2 = type(param) == 'string' ? true : false
+        super(self).init()
+        self.param1 = param
+        self.param2 = / a b c d e-> [
+            int(a), 
+            bool(b), 
+            real(c), 
+            range(3,6),
+            (3..6),
+            map(),
+            {d: e},
+            size(e)
+            ]
+    end
+end
+
+# anonymous function and closure
+def count(x)
+    var arr = []
+    for i : 0 .. x
+        arr.push(
+            def (n) # loop variable cannot be used directly as free variable
+                return def ()
+                    return n * n
+                end
+            end (i) # define and call anonymous function
+        )
+    end
+    return arr
+end
+
+def definitive(s)
+    return s
+end
+
+print(definitive ('test'))
+
+for xx : count(6)
+    print(xx()) # 0, 1, 4 ... n * n
+end
+
+return count
+
+
+import time
+
+c = time.clock()
+do
+    i = 0
+    while i < 100000000
+        i += 1
+    end
+end
+print('while iteration 100000000 times', time.clock() - c, 's')
+
+c = time.clock()
+for i : 1 .. 100000000
+end
+print('for iteration 100000000  times', time.clock() - c, 's')
+
+class node
+    var v, l, r
+    def init(v, l, r)
+        self.v = v
+        self.l = l
+        self.r = r
+    end
+    def insert(v)
+        if v < self.v
+            if self.l
+                self.l.insert(v)
+            else
+                self.l = node(v)
+            end
+        else
+            if self.r
+                self.r.insert(v)
+            else
+                self.r = node (v)
+            end
+        end
+    end
+    def sort(l)
+        if (self.l) self.l.sort(l) end
+        l.push(self.v)
+        if (self.r) self.r.sort(l) end
+    end
+end
+
+class btree
+    var root
+    def insert(v)
+        if self.root
+            self.root.insert(v)
+        else
+            self.root = node(v)
+        end
+    end
+    def sort()
+        var l = []
+        if self.root
+            self.root.sort(l)
+        end
+        return l
+    end
+end
+
+var tree = btree()
+tree.insert(-100)
+tree.insert(5);
+tree.insert(3);
+tree.insert(9);
+tree.insert(10);
+tree.insert(10000000);
+tree.insert(1);
+tree.insert(-1);
+tree.insert(-10);
+print(tree.sort());
+
+def cpi(n)
+    i = 2
+    pi = 3
+    while i <= n
+        term = 4.0 / (i * (i + 1) * (i + 2))
+        if i % 4
+            pi = pi + term
+        else
+            pi = pi - term
+        end
+        i = i + 2
+    end
+    return pi
+end
+
+print("pi =", cpi(100))
+
+import debug
+
+def test_func()
+    try
+        compile('def +() end')()
+    except .. as e, v
+        print('catch execption:', str(e) + ' >>>\n    ' + str(v))
+        debug.traceback()
+    end
+end
+
+test_func()
+
+import time
+
+def fib(x)
+    if x <= 2
+        return 1
+    end
+    return fib(x - 1) + fib(x - 2)
+end
+
+c = time.clock()
+print("fib:", fib(38)) # minimum stack size: 78!!
+print("time:", time.clock() - c, 's')
+
+import time
+import math
+
+math.srand(time.time())
+res = math.rand() % 100
+max_test = 7
+test = -1
+idx = 1
+print('Guess a number between 0 and 99. You have', max_test, 'chances.')
+while test != res && idx <= max_test
+    test = number(input(str(idx) + ': enter the number you guessed: '))
+    if type(test) != 'int'
+        print('This is not an integer. Continue!')
+        continue
+    elif test > res
+        print('This number is too large.')
+    elif test < res
+        print('This number is too small.')
+    end
+    idx = idx + 1
+end
+if test == res
+    print('You win!')
+else
+    print('You failed, the correct answer is', res)
+end
+
+import json
+print(json.load('{"key": "value"}'))
+print(json.dump({'test key': nil}))
+print(json.dump({'key1': nil, 45: true}, 'format'))
+
+# simple lambda example
+print((/a b c-> a * b + c)(2, 3, 4))
+
+# Y-Combinator and factorial functions
+Y = /f-> (/x-> f(/n-> x(x)(n)))(/x-> f(/n-> x(x)(n)))
+F = /f-> /x-> x ? f(x - 1) * x : 1
+fact = Y(F)
+print('fact(10) == ' .. fact(10))
+
+import os
+
+def scandir(path)
+    print('path: ' + path)
+    for name : os.listdir(path)
+        var fullname = os.path.join(path, name)
+        if os.path.isfile(fullname)
+            print('file: ' + fullname)
+        else
+            print('path: ' + fullname)
+            scandir(fullname)
+        end
+    end
+end
+
+scandir('.')
+
+def qsort(data)
+    # do once sort
+    def once(left, right)
+        var pivot = data[left] # use the 0th value as the pivot
+        while left < right # check if sort is complete
+            # put the value less than the pivot to the left
+            while left < right && data[right] >= pivot
+                right -= 1 # skip values greater than pivot
+            end
+            data[left] = data[right]
+            # put the value greater than the pivot on the right
+            while left < right && data[left] <= pivot
+                left += 1 # skip values less than pivot
+            end
+            data[right] = data[left]
+        end
+        # now we have the index of the pivot, store it
+        data[left] = pivot
+        return left # return the index of the pivot
+    end
+    # recursive quick sort algorithm
+    def _sort(left, right)
+        if left < right # executed when the array is not empty
+            var index = once(left, right) # get index of pivot for divide and conquer
+            _sort(left, index - 1) # sort the data on the left
+            _sort(index + 1, right) # sort the data on the right
+        end
+    end
+    # start quick sort
+    _sort(0, data.size() - 1)
+    return data
+end
+
+import time, math
+math.srand(time.time()) # sse system time as a random seed
+data = []
+# put 20 random numbers into the array
+for i : 1 .. 20
+    data.push(math.rand() % 100)
+end
+# sort and print
+print(qsort(data))
+
+do
+    def ismult(msg)
+        import string
+        return string.split(msg, -5)[1] == '\'EOS\''
+    end
+
+    def multline(src, msg)
+        if !ismult(msg)
+            print('syntax_error: ' + msg)
+            return
+        end
+        while true
+            try
+                src += '\n' + input('>> ')
+                return compile(src)
+            except 'syntax_error' as e, m
+                if !ismult(m)
+                    print('syntax_error: ' + m)
+                    return
+                end
+            end
+        end
+    end
+
+    def parse()
+        var fun, src = input('> ')
+        try
+            fun = compile('return (' + src + ')')
+        except 'syntax_error' as e, m
+            try
+                fun = compile(src)
+            except 'syntax_error' as e, m
+                fun = multline(src, m)
+            end
+        end
+        return fun
+    end
+
+    def run(fun)
+        try
+            var res = fun()
+            if res print(res) end
+        except .. as e, m
+            import debug
+            print(e .. ': ' .. m)
+            debug.traceback()
+        end
+    end
+
+    def repl() 
+        while true
+            var fun = parse()
+            if fun != nil
+                run(fun)
+            end
+        end
+    end
+
+    print("Berry Berry REPL!")
+    repl()
+end
+
+s = "This is a long string test. 0123456789 abcdefg ABCDEFG"
+print(s)
+
+a = .5
+print(a)
+
+import string as s
+
+print(s.hex(0x45678ABCD, 16))
+
+def bin(x, num)
+    assert(type(x) == 'int', 'the type of \'x\' must be integer')
+    # test the 'x' bits
+    var bits = 1
+    for i : 0 .. 62
+        if x & (1 << 63 - i)
+            bits = 64 - i
+            break
+        end
+    end
+    if type(num) == 'int' && num > 0 && num <= 64
+        bits = bits < num ? num : bits
+    end
+    var result = ''
+    bits -= 1
+    for i : 0 .. bits
+        result += x & (1 << (bits - i)) ? '1' : '0'
+    end
+    return result
+end
+
+print(bin(33))
+
+import string
+
+print(string.format('%.3d', 12))
+print(string.format('%.3f', 12))
+print(string.format('%20.7f', 14.5))
+print(string.format('-- %-40s ---', 'this is a string format test'))
+print(string.format('-- %40s ---', 'this is a string format test'))
+
+#
\ No newline at end of file
diff --git a/tests/examplefiles/berry/berry.be.output b/tests/examplefiles/berry/berry.be.output
new file mode 100644 (file)
index 0000000..d7dc7b1
--- /dev/null
@@ -0,0 +1,2756 @@
+'#'           Comment.Single
+'\n'          Text.Whitespace
+
+'# single line comment' Comment.Single
+'\n'          Text.Whitespace
+
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'"test"'      Literal.String.Double
+' '           Text.Whitespace
+'# inline comment' Comment.Single
+'\n    '      Text.Whitespace
+'# single line comment' Comment.Single
+'\n'          Text.Whitespace
+
+'#- multi line comment on single line -#' Comment.Multiline
+'\n'          Text.Whitespace
+
+'#- \n    comment line 1\n    comment line 2\n-#' Comment.Multiline
+'\n'          Text.Whitespace
+
+'#--------------------\n comment line 1\n comment line 2\n--------------------#' Comment.Multiline
+'\n'          Text.Whitespace
+
+'#--------------------\n# comment line 1\n# comment line 2\n#--------------------#' Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'hex_num'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0xFF'        Literal.Number.Hex
+'\n'          Text.Whitespace
+
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'int_num'     Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'30'          Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'neg_integer' Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'-23'         Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'real_num'    Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'3'           Literal.Number.Integer
+'.1e-3'       Literal.Number.Float
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'string'      Name
+' '           Text.Whitespace
+'as'          Keyword.Reserved
+' '           Text.Whitespace
+'mystring'    Name
+'\n\n'        Text.Whitespace
+
+'class'       Keyword.Declaration
+' '           Text.Whitespace
+'my_parent_class' Name.Class
+' '           Text.Whitespace
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'class'       Keyword.Declaration
+' '           Text.Whitespace
+'my_static_class' Name.Class
+':'           Operator
+' '           Text.Whitespace
+'my_parent_class' Name
+'\n    '      Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'param1'      Name
+','           Punctuation
+' '           Text.Whitespace
+'param2'      Name
+'\n    '      Text.Whitespace
+'static'      Keyword.Reserved
+' '           Text.Whitespace
+'param'       Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'nil'         Keyword.Constant
+'\n    '      Text.Whitespace
+'static'      Keyword.Reserved
+' '           Text.Whitespace
+'param3'      Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'"string"'    Literal.String.Double
+'\n    '      Text.Whitespace
+'static'      Keyword.Reserved
+' '           Text.Whitespace
+'param4'      Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+"'string\\n'" Literal.String.Single
+'\n    '      Text.Whitespace
+'static'      Keyword.Reserved
+' '           Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'func1'       Name.Function
+'('           Punctuation
+'s'           Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+'mystring'    Name
+'.'           Punctuation
+'format'      Name.Function
+'('           Punctuation
+'"hello %s"'  Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'str'         Name.Builtin
+'('           Punctuation
+'s'           Name
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+'\n        '  Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+'s'           Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'init'        Name.Function
+'('           Punctuation
+'param'       Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'assert'      Name.Builtin
+'('           Punctuation
+'param'       Name
+' '           Text.Whitespace
+'!'           Operator
+'='           Operator
+' '           Text.Whitespace
+'nil'         Keyword.Constant
+')'           Punctuation
+'\n        '  Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'temp1'       Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'isinstance'  Name.Builtin
+'('           Punctuation
+'param'       Name
+','           Punctuation
+' '           Text.Whitespace
+'map'         Name.Builtin
+')'           Punctuation
+'\n        '  Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'temp2'       Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'type'        Name.Builtin
+'('           Punctuation
+'param'       Name
+')'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+'='           Operator
+' '           Text.Whitespace
+"'string'"    Literal.String.Single
+' '           Text.Whitespace
+'?'           Operator
+' '           Text.Whitespace
+'true'        Keyword.Constant
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'false'       Keyword.Constant
+'\n        '  Text.Whitespace
+'super'       Keyword.Reserved
+'('           Punctuation
+'self'        Keyword.Reserved
+')'           Punctuation
+'.'           Punctuation
+'init'        Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n        '  Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'param1'      Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'param'       Name
+'\n        '  Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'param2'      Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'b'           Name
+' '           Text.Whitespace
+'c'           Name
+' '           Text.Whitespace
+'d'           Name
+' '           Text.Whitespace
+'e'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'['           Punctuation
+'\n            ' Text.Whitespace
+'int'         Name.Builtin
+'('           Punctuation
+'a'           Name
+')'           Punctuation
+','           Punctuation
+' \n            ' Text.Whitespace
+'bool'        Name.Builtin
+'('           Punctuation
+'b'           Name
+')'           Punctuation
+','           Punctuation
+' \n            ' Text.Whitespace
+'real'        Name.Builtin
+'('           Punctuation
+'c'           Name
+')'           Punctuation
+','           Punctuation
+' \n            ' Text.Whitespace
+'range'       Name.Builtin
+'('           Punctuation
+'3'           Literal.Number.Integer
+','           Punctuation
+'6'           Literal.Number.Integer
+')'           Punctuation
+','           Punctuation
+'\n            ' Text.Whitespace
+'('           Punctuation
+'3'           Literal.Number.Integer
+'..'          Operator
+'6'           Literal.Number.Integer
+')'           Punctuation
+','           Punctuation
+'\n            ' Text.Whitespace
+'map'         Name.Builtin
+'('           Punctuation
+')'           Punctuation
+','           Punctuation
+'\n            ' Text.Whitespace
+'{'           Punctuation
+'d'           Name
+':'           Operator
+' '           Text.Whitespace
+'e'           Name
+'}'           Punctuation
+','           Punctuation
+'\n            ' Text.Whitespace
+'size'        Name.Builtin
+'('           Punctuation
+'e'           Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+']'           Punctuation
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'# anonymous function and closure' Comment.Single
+'\n'          Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'count'       Name.Function
+'('           Punctuation
+'x'           Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'arr'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'['           Punctuation
+']'           Punctuation
+'\n    '      Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'x'           Name
+'\n        '  Text.Whitespace
+'arr'         Name
+'.'           Punctuation
+'push'        Name.Function
+'('           Punctuation
+'\n            ' Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'('           Punctuation
+'n'           Name
+')'           Punctuation
+' '           Text.Whitespace
+'# loop variable cannot be used directly as free variable' Comment.Single
+'\n                ' Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'('           Punctuation
+')'           Punctuation
+'\n                    ' Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'n'           Name
+' '           Text.Whitespace
+'*'           Operator
+' '           Text.Whitespace
+'n'           Name
+'\n                ' Text.Whitespace
+'end'         Keyword
+'\n            ' Text.Whitespace
+'end'         Keyword
+' '           Text.Whitespace
+'('           Punctuation
+'i'           Name
+')'           Punctuation
+' '           Text.Whitespace
+'# define and call anonymous function' Comment.Single
+'\n        '  Text.Whitespace
+')'           Punctuation
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'arr'         Name
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'definitive'  Name.Function
+'('           Punctuation
+'s'           Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'s'           Name
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'definitive'  Name.Function
+' '           Text.Whitespace
+'('           Punctuation
+"'test'"      Literal.String.Single
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'for'         Keyword
+' '           Text.Whitespace
+'xx'          Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'count'       Name.Function
+'('           Punctuation
+'6'           Literal.Number.Integer
+')'           Punctuation
+'\n    '      Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+'xx'          Name.Function
+'('           Punctuation
+')'           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'# 0, 1, 4 ... n * n' Comment.Single
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'return'      Keyword
+' '           Text.Whitespace
+'count'       Name
+'\n\n\n'      Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'time'        Name
+'\n\n'        Text.Whitespace
+
+'c'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'time'        Name
+'.'           Punctuation
+'clock'       Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'do'          Keyword
+'\n    '      Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+'while'       Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'100000000'   Literal.Number.Integer
+'\n        '  Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'+'           Operator
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+"'while iteration 100000000 times'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+'time'        Name
+'.'           Punctuation
+'clock'       Name.Function
+'('           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'c'           Name
+','           Punctuation
+' '           Text.Whitespace
+"'s'"         Literal.String.Single
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'c'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'time'        Name
+'.'           Punctuation
+'clock'       Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'for'         Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'100000000'   Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+"'for iteration 100000000  times'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+'time'        Name
+'.'           Punctuation
+'clock'       Name.Function
+'('           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'c'           Name
+','           Punctuation
+' '           Text.Whitespace
+"'s'"         Literal.String.Single
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'class'       Keyword.Declaration
+' '           Text.Whitespace
+'node'        Name.Class
+'\n    '      Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'v'           Name
+','           Punctuation
+' '           Text.Whitespace
+'l'           Name
+','           Punctuation
+' '           Text.Whitespace
+'r'           Name
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'init'        Name.Function
+'('           Punctuation
+'v'           Name
+','           Punctuation
+' '           Text.Whitespace
+'l'           Name
+','           Punctuation
+' '           Text.Whitespace
+'r'           Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'v'           Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'v'           Name
+'\n        '  Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'l'           Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'l'           Name
+'\n        '  Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'r'           Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'r'           Name
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'insert'      Name.Function
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'v'           Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'v'           Name.Attribute
+'\n            ' Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'l'           Name.Attribute
+'\n                ' Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'l'           Name.Attribute
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'else'        Keyword
+'\n                ' Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'l'           Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'node'        Name.Function
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'else'        Keyword
+'\n            ' Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'r'           Name.Attribute
+'\n                ' Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'r'           Name.Attribute
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'else'        Keyword
+'\n                ' Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'r'           Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'node'        Name.Function
+' '           Text.Whitespace
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'sort'        Name.Function
+'('           Punctuation
+'l'           Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'('           Punctuation
+'self'        Keyword.Reserved
+'.'           Punctuation
+'l'           Name.Attribute
+')'           Punctuation
+' '           Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'l'           Name.Attribute
+'.'           Punctuation
+'sort'        Name.Function
+'('           Punctuation
+'l'           Name
+')'           Punctuation
+' '           Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'l'           Name
+'.'           Punctuation
+'push'        Name.Function
+'('           Punctuation
+'self'        Keyword.Reserved
+'.'           Punctuation
+'v'           Name.Attribute
+')'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'('           Punctuation
+'self'        Keyword.Reserved
+'.'           Punctuation
+'r'           Name.Attribute
+')'           Punctuation
+' '           Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'r'           Name.Attribute
+'.'           Punctuation
+'sort'        Name.Function
+'('           Punctuation
+'l'           Name
+')'           Punctuation
+' '           Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'class'       Keyword.Declaration
+' '           Text.Whitespace
+'btree'       Name.Class
+'\n    '      Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'root'        Name
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'insert'      Name.Function
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'root'        Name.Attribute
+'\n            ' Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'root'        Name.Attribute
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'else'        Keyword
+'\n            ' Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'root'        Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'node'        Name.Function
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'sort'        Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n        '  Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'l'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'['           Punctuation
+']'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'root'        Name.Attribute
+'\n            ' Text.Whitespace
+'self'        Keyword.Reserved
+'.'           Punctuation
+'root'        Name.Attribute
+'.'           Punctuation
+'sort'        Name.Function
+'('           Punctuation
+'l'           Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'l'           Name
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'tree'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'btree'       Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'-100'        Literal.Number.Integer
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'5'           Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'3'           Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'9'           Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'10'          Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'10000000'    Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'1'           Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'-1'          Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'tree'        Name
+'.'           Punctuation
+'insert'      Name.Function
+'('           Punctuation
+'-10'         Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'tree'        Name
+'.'           Punctuation
+'sort'        Name.Function
+'('           Punctuation
+')'           Punctuation
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'cpi'         Name.Function
+'('           Punctuation
+'n'           Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+'pi'          Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'3'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+'while'       Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'<'           Operator
+'='           Operator
+' '           Text.Whitespace
+'n'           Name
+'\n        '  Text.Whitespace
+'term'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'4'           Literal.Number.Integer
+'.0'          Literal.Number.Float
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'i'           Name
+' '           Text.Whitespace
+'*'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'i'           Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+')'           Punctuation
+' '           Text.Whitespace
+'*'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'i'           Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'%'           Operator
+' '           Text.Whitespace
+'4'           Literal.Number.Integer
+'\n            ' Text.Whitespace
+'pi'          Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'pi'          Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'term'        Name
+'\n        '  Text.Whitespace
+'else'        Keyword
+'\n            ' Text.Whitespace
+'pi'          Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'pi'          Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'term'        Name
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'pi'          Name
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'"pi ="'      Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'cpi'         Name.Function
+'('           Punctuation
+'100'         Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'debug'       Name
+'\n\n'        Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'test_func'   Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n    '      Text.Whitespace
+'try'         Keyword
+'\n        '  Text.Whitespace
+'compile'     Name.Builtin
+'('           Punctuation
+"'def +() end'" Literal.String.Single
+')'           Punctuation
+'('           Punctuation
+')'           Punctuation
+'\n    '      Text.Whitespace
+'except'      Keyword
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'as'          Keyword.Reserved
+' '           Text.Whitespace
+'e'           Name
+','           Punctuation
+' '           Text.Whitespace
+'v'           Name
+'\n        '  Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'catch execption:'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+'str'         Name.Builtin
+'('           Punctuation
+'e'           Name
+')'           Punctuation
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+"' >>>\\n    '" Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'str'         Name.Builtin
+'('           Punctuation
+'v'           Name
+')'           Punctuation
+')'           Punctuation
+'\n        '  Text.Whitespace
+'debug'       Name
+'.'           Punctuation
+'traceback'   Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'test_func'   Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'time'        Name
+'\n\n'        Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'fib'         Name.Function
+'('           Punctuation
+'x'           Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'x'           Name
+' '           Text.Whitespace
+'<'           Operator
+'='           Operator
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+'\n        '  Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'fib'         Name.Function
+'('           Punctuation
+'x'           Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+')'           Punctuation
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'fib'         Name.Function
+'('           Punctuation
+'x'           Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'c'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'time'        Name
+'.'           Punctuation
+'clock'       Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'"fib:"'      Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'fib'         Name.Function
+'('           Punctuation
+'38'          Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'# minimum stack size: 78!!' Comment.Single
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'"time:"'     Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'time'        Name
+'.'           Punctuation
+'clock'       Name.Function
+'('           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'c'           Name
+','           Punctuation
+' '           Text.Whitespace
+"'s'"         Literal.String.Single
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'time'        Name
+'\n'          Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'math'        Name
+'\n\n'        Text.Whitespace
+
+'math'        Name
+'.'           Punctuation
+'srand'       Name.Function
+'('           Punctuation
+'time'        Name
+'.'           Punctuation
+'time'        Name.Function
+'('           Punctuation
+')'           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'res'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'math'        Name
+'.'           Punctuation
+'rand'        Name.Function
+'('           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'%'           Operator
+' '           Text.Whitespace
+'100'         Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'max_test'    Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'7'           Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'test'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'-1'          Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'idx'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+"'Guess a number between 0 and 99. You have'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+'max_test'    Name
+','           Punctuation
+' '           Text.Whitespace
+"'chances.'"  Literal.String.Single
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'while'       Keyword
+' '           Text.Whitespace
+'test'        Name
+' '           Text.Whitespace
+'!'           Operator
+'='           Operator
+' '           Text.Whitespace
+'res'         Name
+' '           Text.Whitespace
+'&'           Operator
+'&'           Operator
+' '           Text.Whitespace
+'idx'         Name
+' '           Text.Whitespace
+'<'           Operator
+'='           Operator
+' '           Text.Whitespace
+'max_test'    Name
+'\n    '      Text.Whitespace
+'test'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'number'      Name.Builtin
+'('           Punctuation
+'input'       Name.Builtin
+'('           Punctuation
+'str'         Name.Builtin
+'('           Punctuation
+'idx'         Name
+')'           Punctuation
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+"': enter the number you guessed: '" Literal.String.Single
+')'           Punctuation
+')'           Punctuation
+'\n    '      Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'type'        Name.Builtin
+'('           Punctuation
+'test'        Name
+')'           Punctuation
+' '           Text.Whitespace
+'!'           Operator
+'='           Operator
+' '           Text.Whitespace
+"'int'"       Literal.String.Single
+'\n        '  Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'This is not an integer. Continue!'" Literal.String.Single
+')'           Punctuation
+'\n        '  Text.Whitespace
+'continue'    Keyword.Reserved
+'\n    '      Text.Whitespace
+'elif'        Keyword
+' '           Text.Whitespace
+'test'        Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'res'         Name
+'\n        '  Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'This number is too large.'" Literal.String.Single
+')'           Punctuation
+'\n    '      Text.Whitespace
+'elif'        Keyword
+' '           Text.Whitespace
+'test'        Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'res'         Name
+'\n        '  Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'This number is too small.'" Literal.String.Single
+')'           Punctuation
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'idx'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'idx'         Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'if'          Keyword
+' '           Text.Whitespace
+'test'        Name
+' '           Text.Whitespace
+'='           Operator
+'='           Operator
+' '           Text.Whitespace
+'res'         Name
+'\n    '      Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'You win!'"  Literal.String.Single
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'else'        Keyword
+'\n    '      Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'You failed, the correct answer is'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+'res'         Name
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'json'        Name
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'json'        Name
+'.'           Punctuation
+'load'        Name.Function
+'('           Punctuation
+'\'{"key": "value"}\'' Literal.String.Single
+')'           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'json'        Name
+'.'           Punctuation
+'dump'        Name.Function
+'('           Punctuation
+'{'           Punctuation
+"'test key'"  Literal.String.Single
+':'           Operator
+' '           Text.Whitespace
+'nil'         Keyword.Constant
+'}'           Punctuation
+')'           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'json'        Name
+'.'           Punctuation
+'dump'        Name.Function
+'('           Punctuation
+'{'           Punctuation
+"'key1'"      Literal.String.Single
+':'           Operator
+' '           Text.Whitespace
+'nil'         Keyword.Constant
+','           Punctuation
+' '           Text.Whitespace
+'45'          Literal.Number.Integer
+':'           Operator
+' '           Text.Whitespace
+'true'        Keyword.Constant
+'}'           Punctuation
+','           Punctuation
+' '           Text.Whitespace
+"'format'"    Literal.String.Single
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'# simple lambda example' Comment.Single
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'('           Punctuation
+'/'           Operator
+'a'           Name
+' '           Text.Whitespace
+'b'           Name
+' '           Text.Whitespace
+'c'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'*'           Operator
+' '           Text.Whitespace
+'b'           Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'c'           Name
+')'           Punctuation
+'('           Punctuation
+'2'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'3'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'4'           Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'# Y-Combinator and factorial functions' Comment.Single
+'\n'          Text.Whitespace
+
+'Y'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'/'           Operator
+'f'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'/'           Operator
+'x'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'f'           Name.Function
+'('           Punctuation
+'/'           Operator
+'n'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'x'           Name.Function
+'('           Punctuation
+'x'           Name
+')'           Punctuation
+'('           Punctuation
+'n'           Name
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+'('           Punctuation
+'/'           Operator
+'x'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'f'           Name.Function
+'('           Punctuation
+'/'           Operator
+'n'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'x'           Name.Function
+'('           Punctuation
+'x'           Name
+')'           Punctuation
+'('           Punctuation
+'n'           Name
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'F'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'/'           Operator
+'f'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'/'           Operator
+'x'           Name
+'-'           Operator
+'>'           Operator
+' '           Text.Whitespace
+'x'           Name
+' '           Text.Whitespace
+'?'           Operator
+' '           Text.Whitespace
+'f'           Name.Function
+'('           Punctuation
+'x'           Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+')'           Punctuation
+' '           Text.Whitespace
+'*'           Operator
+' '           Text.Whitespace
+'x'           Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'fact'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'Y'           Name.Function
+'('           Punctuation
+'F'           Name
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+"'fact(10) == '" Literal.String.Single
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'fact'        Name.Function
+'('           Punctuation
+'10'          Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'os'          Name
+'\n\n'        Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'scandir'     Name.Function
+'('           Punctuation
+'path'        Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'path: '"    Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'path'        Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'name'        Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'os'          Name
+'.'           Punctuation
+'listdir'     Name.Function
+'('           Punctuation
+'path'        Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'fullname'    Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'os'          Name
+'.'           Punctuation
+'path'        Name.Attribute
+'.'           Punctuation
+'join'        Name.Function
+'('           Punctuation
+'path'        Name
+','           Punctuation
+' '           Text.Whitespace
+'name'        Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'os'          Name
+'.'           Punctuation
+'path'        Name.Attribute
+'.'           Punctuation
+'isfile'      Name.Function
+'('           Punctuation
+'fullname'    Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'file: '"    Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'fullname'    Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'else'        Keyword
+'\n            ' Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'path: '"    Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'fullname'    Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'scandir'     Name.Function
+'('           Punctuation
+'fullname'    Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'scandir'     Name.Function
+'('           Punctuation
+"'.'"         Literal.String.Single
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'qsort'       Name.Function
+'('           Punctuation
+'data'        Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'# do once sort' Comment.Single
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'once'        Name.Function
+'('           Punctuation
+'left'        Name
+','           Punctuation
+' '           Text.Whitespace
+'right'       Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'pivot'       Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'data'        Name
+'['           Punctuation
+'left'        Name
+']'           Punctuation
+' '           Text.Whitespace
+'# use the 0th value as the pivot' Comment.Single
+'\n        '  Text.Whitespace
+'while'       Keyword
+' '           Text.Whitespace
+'left'        Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'right'       Name
+' '           Text.Whitespace
+'# check if sort is complete' Comment.Single
+'\n            ' Text.Whitespace
+'# put the value less than the pivot to the left' Comment.Single
+'\n            ' Text.Whitespace
+'while'       Keyword
+' '           Text.Whitespace
+'left'        Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'right'       Name
+' '           Text.Whitespace
+'&'           Operator
+'&'           Operator
+' '           Text.Whitespace
+'data'        Name
+'['           Punctuation
+'right'       Name
+']'           Punctuation
+' '           Text.Whitespace
+'>'           Operator
+'='           Operator
+' '           Text.Whitespace
+'pivot'       Name
+'\n                ' Text.Whitespace
+'right'       Name
+' '           Text.Whitespace
+'-'           Operator
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+' '           Text.Whitespace
+'# skip values greater than pivot' Comment.Single
+'\n            ' Text.Whitespace
+'end'         Keyword
+'\n            ' Text.Whitespace
+'data'        Name
+'['           Punctuation
+'left'        Name
+']'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'data'        Name
+'['           Punctuation
+'right'       Name
+']'           Punctuation
+'\n            ' Text.Whitespace
+'# put the value greater than the pivot on the right' Comment.Single
+'\n            ' Text.Whitespace
+'while'       Keyword
+' '           Text.Whitespace
+'left'        Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'right'       Name
+' '           Text.Whitespace
+'&'           Operator
+'&'           Operator
+' '           Text.Whitespace
+'data'        Name
+'['           Punctuation
+'left'        Name
+']'           Punctuation
+' '           Text.Whitespace
+'<'           Operator
+'='           Operator
+' '           Text.Whitespace
+'pivot'       Name
+'\n                ' Text.Whitespace
+'left'        Name
+' '           Text.Whitespace
+'+'           Operator
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+' '           Text.Whitespace
+'# skip values less than pivot' Comment.Single
+'\n            ' Text.Whitespace
+'end'         Keyword
+'\n            ' Text.Whitespace
+'data'        Name
+'['           Punctuation
+'right'       Name
+']'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'data'        Name
+'['           Punctuation
+'left'        Name
+']'           Punctuation
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'# now we have the index of the pivot, store it' Comment.Single
+'\n        '  Text.Whitespace
+'data'        Name
+'['           Punctuation
+'left'        Name
+']'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'pivot'       Name
+'\n        '  Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'left'        Name
+' '           Text.Whitespace
+'# return the index of the pivot' Comment.Single
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'# recursive quick sort algorithm' Comment.Single
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'_sort'       Name.Function
+'('           Punctuation
+'left'        Name
+','           Punctuation
+' '           Text.Whitespace
+'right'       Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'left'        Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'right'       Name
+' '           Text.Whitespace
+'# executed when the array is not empty' Comment.Single
+'\n            ' Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'index'       Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'once'        Name.Function
+'('           Punctuation
+'left'        Name
+','           Punctuation
+' '           Text.Whitespace
+'right'       Name
+')'           Punctuation
+' '           Text.Whitespace
+'# get index of pivot for divide and conquer' Comment.Single
+'\n            ' Text.Whitespace
+'_sort'       Name.Function
+'('           Punctuation
+'left'        Name
+','           Punctuation
+' '           Text.Whitespace
+'index'       Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+')'           Punctuation
+' '           Text.Whitespace
+'# sort the data on the left' Comment.Single
+'\n            ' Text.Whitespace
+'_sort'       Name.Function
+'('           Punctuation
+'index'       Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'right'       Name
+')'           Punctuation
+' '           Text.Whitespace
+'# sort the data on the right' Comment.Single
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'# start quick sort' Comment.Single
+'\n    '      Text.Whitespace
+'_sort'       Name.Function
+'('           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'data'        Name
+'.'           Punctuation
+'size'        Name.Builtin
+'('           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+')'           Punctuation
+'\n    '      Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'data'        Name
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'time'        Name
+','           Punctuation
+' '           Text.Whitespace
+'math'        Name
+'\n'          Text.Whitespace
+
+'math'        Name
+'.'           Punctuation
+'srand'       Name.Function
+'('           Punctuation
+'time'        Name
+'.'           Punctuation
+'time'        Name.Function
+'('           Punctuation
+')'           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'# sse system time as a random seed' Comment.Single
+'\n'          Text.Whitespace
+
+'data'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'['           Punctuation
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'# put 20 random numbers into the array' Comment.Single
+'\n'          Text.Whitespace
+
+'for'         Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'20'          Literal.Number.Integer
+'\n    '      Text.Whitespace
+'data'        Name
+'.'           Punctuation
+'push'        Name.Function
+'('           Punctuation
+'math'        Name
+'.'           Punctuation
+'rand'        Name.Function
+'('           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'%'           Operator
+' '           Text.Whitespace
+'100'         Literal.Number.Integer
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'# sort and print' Comment.Single
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'qsort'       Name.Function
+'('           Punctuation
+'data'        Name
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'do'          Keyword
+'\n    '      Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'ismult'      Name.Function
+'('           Punctuation
+'msg'         Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'string'      Name
+'\n        '  Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'string'      Name
+'.'           Punctuation
+'split'       Name.Function
+'('           Punctuation
+'msg'         Name
+','           Punctuation
+' '           Text.Whitespace
+'-5'          Literal.Number.Integer
+')'           Punctuation
+'['           Punctuation
+'1'           Literal.Number.Integer
+']'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+'='           Operator
+' '           Text.Whitespace
+"'\\'EOS\\''" Literal.String.Single
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n\n    '    Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'multline'    Name.Function
+'('           Punctuation
+'src'         Name
+','           Punctuation
+' '           Text.Whitespace
+'msg'         Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'!'           Operator
+'ismult'      Name.Function
+'('           Punctuation
+'msg'         Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'syntax_error: '" Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'msg'         Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'return'      Keyword
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'while'       Keyword
+' '           Text.Whitespace
+'true'        Keyword.Constant
+'\n            ' Text.Whitespace
+'try'         Keyword
+'\n                ' Text.Whitespace
+'src'         Name
+' '           Text.Whitespace
+'+'           Operator
+'='           Operator
+' '           Text.Whitespace
+"'\\n'"       Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'input'       Name.Builtin
+'('           Punctuation
+"'>> '"       Literal.String.Single
+')'           Punctuation
+'\n                ' Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'compile'     Name.Builtin
+'('           Punctuation
+'src'         Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'except'      Keyword
+' '           Text.Whitespace
+"'syntax_error'" Literal.String.Single
+' '           Text.Whitespace
+'as'          Keyword.Reserved
+' '           Text.Whitespace
+'e'           Name
+','           Punctuation
+' '           Text.Whitespace
+'m'           Name
+'\n                ' Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'!'           Operator
+'ismult'      Name.Function
+'('           Punctuation
+'m'           Name
+')'           Punctuation
+'\n                    ' Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+"'syntax_error: '" Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'m'           Name
+')'           Punctuation
+'\n                    ' Text.Whitespace
+'return'      Keyword
+'\n                ' Text.Whitespace
+'end'         Keyword
+'\n            ' Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n\n    '    Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'parse'       Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n        '  Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'fun'         Name
+','           Punctuation
+' '           Text.Whitespace
+'src'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'input'       Name.Builtin
+'('           Punctuation
+"'> '"        Literal.String.Single
+')'           Punctuation
+'\n        '  Text.Whitespace
+'try'         Keyword
+'\n            ' Text.Whitespace
+'fun'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'compile'     Name.Builtin
+'('           Punctuation
+"'return ('"  Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'src'         Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+"')'"         Literal.String.Single
+')'           Punctuation
+'\n        '  Text.Whitespace
+'except'      Keyword
+' '           Text.Whitespace
+"'syntax_error'" Literal.String.Single
+' '           Text.Whitespace
+'as'          Keyword.Reserved
+' '           Text.Whitespace
+'e'           Name
+','           Punctuation
+' '           Text.Whitespace
+'m'           Name
+'\n            ' Text.Whitespace
+'try'         Keyword
+'\n                ' Text.Whitespace
+'fun'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'compile'     Name.Builtin
+'('           Punctuation
+'src'         Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'except'      Keyword
+' '           Text.Whitespace
+"'syntax_error'" Literal.String.Single
+' '           Text.Whitespace
+'as'          Keyword.Reserved
+' '           Text.Whitespace
+'e'           Name
+','           Punctuation
+' '           Text.Whitespace
+'m'           Name
+'\n                ' Text.Whitespace
+'fun'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'multline'    Name.Function
+'('           Punctuation
+'src'         Name
+','           Punctuation
+' '           Text.Whitespace
+'m'           Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'fun'         Name
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n\n    '    Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'run'         Name.Function
+'('           Punctuation
+'fun'         Name
+')'           Punctuation
+'\n        '  Text.Whitespace
+'try'         Keyword
+'\n            ' Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'res'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'fun'         Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n            ' Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'res'         Name
+' '           Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+'res'         Name
+')'           Punctuation
+' '           Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'except'      Keyword
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'as'          Keyword.Reserved
+' '           Text.Whitespace
+'e'           Name
+','           Punctuation
+' '           Text.Whitespace
+'m'           Name
+'\n            ' Text.Whitespace
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'debug'       Name
+'\n            ' Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+'e'           Name
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+"': '"        Literal.String.Single
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'m'           Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'debug'       Name
+'.'           Punctuation
+'traceback'   Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n\n    '    Text.Whitespace
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'repl'        Name.Function
+'('           Punctuation
+')'           Punctuation
+' \n        ' Text.Whitespace
+'while'       Keyword
+' '           Text.Whitespace
+'true'        Keyword.Constant
+'\n            ' Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'fun'         Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'parse'       Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n            ' Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'fun'         Name
+' '           Text.Whitespace
+'!'           Operator
+'='           Operator
+' '           Text.Whitespace
+'nil'         Keyword.Constant
+'\n                ' Text.Whitespace
+'run'         Name.Function
+'('           Punctuation
+'fun'         Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'end'         Keyword
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n\n    '    Text.Whitespace
+'print'       Name.Builtin
+'('           Punctuation
+'"Berry Berry REPL!"' Literal.String.Double
+')'           Punctuation
+'\n    '      Text.Whitespace
+'repl'        Name.Function
+'('           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'s'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'"This is a long string test. 0123456789 abcdefg ABCDEFG"' Literal.String.Double
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'s'           Name
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'a'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'.5'          Literal.Number.Float
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'a'           Name
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'string'      Name
+' '           Text.Whitespace
+'as'          Keyword.Reserved
+' '           Text.Whitespace
+'s'           Name
+'\n\n'        Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'s'           Name
+'.'           Punctuation
+'hex'         Name.Function
+'('           Punctuation
+'0x45678ABCD' Literal.Number.Hex
+','           Punctuation
+' '           Text.Whitespace
+'16'          Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'def'         Keyword.Declaration
+' '           Text.Whitespace
+'bin'         Name.Function
+'('           Punctuation
+'x'           Name
+','           Punctuation
+' '           Text.Whitespace
+'num'         Name
+')'           Punctuation
+'\n    '      Text.Whitespace
+'assert'      Name.Builtin
+'('           Punctuation
+'type'        Name.Builtin
+'('           Punctuation
+'x'           Name
+')'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+'='           Operator
+' '           Text.Whitespace
+"'int'"       Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+"'the type of \\'x\\' must be integer'" Literal.String.Single
+')'           Punctuation
+'\n    '      Text.Whitespace
+"# test the 'x' bits" Comment.Single
+'\n    '      Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'bits'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'62'          Literal.Number.Integer
+'\n        '  Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'x'           Name
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'1'           Literal.Number.Integer
+' '           Text.Whitespace
+'<'           Operator
+'<'           Operator
+' '           Text.Whitespace
+'63'          Literal.Number.Integer
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'i'           Name
+')'           Punctuation
+'\n            ' Text.Whitespace
+'bits'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'64'          Literal.Number.Integer
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'i'           Name
+'\n            ' Text.Whitespace
+'break'       Keyword.Reserved
+'\n        '  Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'type'        Name.Builtin
+'('           Punctuation
+'num'         Name
+')'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+'='           Operator
+' '           Text.Whitespace
+"'int'"       Literal.String.Single
+' '           Text.Whitespace
+'&'           Operator
+'&'           Operator
+' '           Text.Whitespace
+'num'         Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+' '           Text.Whitespace
+'&'           Operator
+'&'           Operator
+' '           Text.Whitespace
+'num'         Name
+' '           Text.Whitespace
+'<'           Operator
+'='           Operator
+' '           Text.Whitespace
+'64'          Literal.Number.Integer
+'\n        '  Text.Whitespace
+'bits'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'bits'        Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'num'         Name
+' '           Text.Whitespace
+'?'           Operator
+' '           Text.Whitespace
+'num'         Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'bits'        Name
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'var'         Keyword.Declaration
+' '           Text.Whitespace
+'result'      Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+"''"          Literal.String.Single
+'\n    '      Text.Whitespace
+'bits'        Name
+' '           Text.Whitespace
+'-'           Operator
+'='           Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+' '           Text.Whitespace
+'..'          Operator
+' '           Text.Whitespace
+'bits'        Name
+'\n        '  Text.Whitespace
+'result'      Name
+' '           Text.Whitespace
+'+'           Operator
+'='           Operator
+' '           Text.Whitespace
+'x'           Name
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'1'           Literal.Number.Integer
+' '           Text.Whitespace
+'<'           Operator
+'<'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'bits'        Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'i'           Name
+')'           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'?'           Operator
+' '           Text.Whitespace
+"'1'"         Literal.String.Single
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+"'0'"         Literal.String.Single
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'return'      Keyword
+' '           Text.Whitespace
+'result'      Name
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n\n'        Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'bin'         Name.Function
+'('           Punctuation
+'33'          Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'import'      Keyword.Reserved
+' '           Text.Whitespace
+'string'      Name
+'\n\n'        Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'string'      Name
+'.'           Punctuation
+'format'      Name.Function
+'('           Punctuation
+"'%.3d'"      Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+'12'          Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'string'      Name
+'.'           Punctuation
+'format'      Name.Function
+'('           Punctuation
+"'%.3f'"      Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+'12'          Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'string'      Name
+'.'           Punctuation
+'format'      Name.Function
+'('           Punctuation
+"'%20.7f'"    Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+'14'          Literal.Number.Integer
+'.5'          Literal.Number.Float
+')'           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'string'      Name
+'.'           Punctuation
+'format'      Name.Function
+'('           Punctuation
+"'-- %-40s ---'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+"'this is a string format test'" Literal.String.Single
+')'           Punctuation
+')'           Punctuation
+'\n'          Text.Whitespace
+
+'print'       Name.Builtin
+'('           Punctuation
+'string'      Name
+'.'           Punctuation
+'format'      Name.Function
+'('           Punctuation
+"'-- %40s ---'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+"'this is a string format test'" Literal.String.Single
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'#'           Comment.Single
+'\n'          Text.Whitespace
index a866c23c1d8584329a99faab8552a2e14b1cb92d..bd640635c0867b6dc32e6159c3eed9b4852922c6 100644 (file)
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'NOP'         Name.Label
+'NOP'         Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LOAD_FAST'   Name.Label
+'LOAD_FAST'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LOAD_CONST'  Name.Label
+'LOAD_CONST'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_FAST'  Name.Label
+'STORE_FAST'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'POP_TOP'     Name.Label
+'POP_TOP'     Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'ROT_TWO'     Name.Label
+'ROT_TWO'     Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'ROT_THREE'   Name.Label
+'ROT_THREE'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'ROT_FOUR'    Name.Label
+'ROT_FOUR'    Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DUP_TOP'     Name.Label
+'DUP_TOP'     Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DUP_TOPX'    Name.Label
+'DUP_TOPX'    Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'UNARY_POSITIVE' Name.Label
+'UNARY_POSITIVE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'UNARY_NEGATIVE' Name.Label
+'UNARY_NEGATIVE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'UNARY_NOT'   Name.Label
+'UNARY_NOT'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'UNARY_CONVERT' Name.Label
+'UNARY_CONVERT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'UNARY_INVERT' Name.Label
+'UNARY_INVERT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_POWER' Name.Label
+'BINARY_POWER' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_MULTIPLY' Name.Label
+'BINARY_MULTIPLY' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_DIVIDE' Name.Label
+'BINARY_DIVIDE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_TRUE_DIVIDE' Name.Label
+'BINARY_TRUE_DIVIDE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_FLOOR_DIVIDE' Name.Label
+'BINARY_FLOOR_DIVIDE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_MODULO' Name.Label
+'BINARY_MODULO' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_ADD'  Name.Label
+'BINARY_ADD'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_SUBTRACT' Name.Label
+'BINARY_SUBTRACT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_SUBSCR' Name.Label
+'BINARY_SUBSCR' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_LSHIFT' Name.Label
+'BINARY_LSHIFT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_RSHIFT' Name.Label
+'BINARY_RSHIFT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_AND'  Name.Label
+'BINARY_AND'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_XOR'  Name.Label
+'BINARY_XOR'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BINARY_OR'   Name.Label
+'BINARY_OR'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LIST_APPEND' Name.Label
+'LIST_APPEND' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_POWER' Name.Label
+'INPLACE_POWER' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_MULTIPLY' Name.Label
+'INPLACE_MULTIPLY' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_DIVIDE' Name.Label
+'INPLACE_DIVIDE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_TRUE_DIVIDE' Name.Label
+'INPLACE_TRUE_DIVIDE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_FLOOR_DIVIDE' Name.Label
+'INPLACE_FLOOR_DIVIDE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_MODULO' Name.Label
+'INPLACE_MODULO' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_ADD' Name.Label
+'INPLACE_ADD' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_SUBTRACT' Name.Label
+'INPLACE_SUBTRACT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_LSHIFT' Name.Label
+'INPLACE_LSHIFT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_RSHIFT' Name.Label
+'INPLACE_RSHIFT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_AND' Name.Label
+'INPLACE_AND' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_XOR' Name.Label
+'INPLACE_XOR' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'INPLACE_OR'  Name.Label
+'INPLACE_OR'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'SLICE'       Name
+'SLICE'       Name.Constant
 '+'           Operator
 '0'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'SLICE'       Name
+'SLICE'       Name.Constant
 '+'           Operator
 '1'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'SLICE'       Name
+'SLICE'       Name.Constant
 '+'           Operator
 '2'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'SLICE'       Name
+'SLICE'       Name.Constant
 '+'           Operator
 '3'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t\t'      Text.Whitespace
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_SLICE' Name
+'STORE_SLICE' Name.Constant
 '+'           Operator
 '0'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_SLICE' Name
+'STORE_SLICE' Name.Constant
 '+'           Operator
 '1'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_SLICE' Name
+'STORE_SLICE' Name.Constant
 '+'           Operator
 '2'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_SLICE' Name
+'STORE_SLICE' Name.Constant
 '+'           Operator
 '3'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t\t'      Text.Whitespace
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_SLICE' Name
+'DELETE_SLICE' Name.Constant
 '+'           Operator
 '0'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_SLICE' Name
+'DELETE_SLICE' Name.Constant
 '+'           Operator
 '1'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_SLICE' Name
+'DELETE_SLICE' Name.Constant
 '+'           Operator
 '2'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_SLICE' Name
+'DELETE_SLICE' Name.Constant
 '+'           Operator
 '3'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t\t'      Text.Whitespace
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_SUBSCR' Name.Label
+'STORE_SUBSCR' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_SUBSCR' Name.Label
+'DELETE_SUBSCR' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PRINT_EXPR'  Name.Label
+'PRINT_EXPR'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PRINT_ITEM_TO' Name.Label
+'PRINT_ITEM_TO' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PRINT_ITEM'  Name.Label
+'PRINT_ITEM'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PRINT_NEWLINE_TO' Name.Label
+'PRINT_NEWLINE_TO' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PRINT_NEWLINE' Name.Label
+'PRINT_NEWLINE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'RAISE_VARARGS' Name.Label
+'RAISE_VARARGS' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 'case'        Keyword
 ' '           Text.Whitespace
 '3'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
 '2'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
 '1'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
 '0'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 '/* Fallthrough */' Comment.Multiline
 '\n'          Text.Whitespace
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LOAD_LOCALS' Name.Label
+'LOAD_LOCALS' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'RETURN_VALUE' Name.Label
+'RETURN_VALUE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'YIELD_VALUE' Name.Label
+'YIELD_VALUE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'EXEC_STMT'   Name.Label
+'EXEC_STMT'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'POP_BLOCK'   Name.Label
+'POP_BLOCK'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'END_FINALLY' Name.Label
+'END_FINALLY' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BUILD_CLASS' Name.Label
+'BUILD_CLASS' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_NAME'  Name.Label
+'STORE_NAME'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_NAME' Name.Label
+'DELETE_NAME' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'UNPACK_SEQUENCE' Name.Label
+'UNPACK_SEQUENCE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_ATTR'  Name.Label
+'STORE_ATTR'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_ATTR' Name.Label
+'DELETE_ATTR' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_GLOBAL' Name.Label
+'STORE_GLOBAL' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_GLOBAL' Name.Label
+'DELETE_GLOBAL' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LOAD_NAME'   Name.Label
+'LOAD_NAME'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LOAD_GLOBAL' Name.Label
+'LOAD_GLOBAL' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'DELETE_FAST' Name.Label
+'DELETE_FAST' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LOAD_CLOSURE' Name.Label
+'LOAD_CLOSURE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LOAD_DEREF'  Name.Label
+'LOAD_DEREF'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'STORE_DEREF' Name.Label
+'STORE_DEREF' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BUILD_TUPLE' Name.Label
+'BUILD_TUPLE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BUILD_LIST'  Name.Label
+'BUILD_LIST'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BUILD_MAP'   Name.Label
+'BUILD_MAP'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'LOAD_ATTR'   Name.Label
+'LOAD_ATTR'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'COMPARE_OP'  Name.Label
+'COMPARE_OP'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PyCmp_LT'    Name.Label
+'PyCmp_LT'    Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'res'         Name
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PyCmp_LE'    Name.Label
+'PyCmp_LE'    Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'res'         Name
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PyCmp_EQ'    Name.Label
+'PyCmp_EQ'    Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'res'         Name
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PyCmp_NE'    Name.Label
+'PyCmp_NE'    Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'res'         Name
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PyCmp_GT'    Name.Label
+'PyCmp_GT'    Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'res'         Name
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PyCmp_GE'    Name.Label
+'PyCmp_GE'    Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'res'         Name
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PyCmp_IS'    Name.Label
+'PyCmp_IS'    Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'res'         Name
 '\t\t\t\t'    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'PyCmp_IS_NOT' Name.Label
+'PyCmp_IS_NOT' Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'res'         Name
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'IMPORT_NAME' Name.Label
+'IMPORT_NAME' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'IMPORT_STAR' Name.Label
+'IMPORT_STAR' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'IMPORT_FROM' Name.Label
+'IMPORT_FROM' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'JUMP_FORWARD' Name.Label
+'JUMP_FORWARD' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'JUMP_IF_FALSE' Name.Label
+'JUMP_IF_FALSE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'JUMP_IF_TRUE' Name.Label
+'JUMP_IF_TRUE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'JUMP_ABSOLUTE' Name.Label
+'JUMP_ABSOLUTE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'GET_ITER'    Name.Label
+'GET_ITER'    Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'FOR_ITER'    Name.Label
+'FOR_ITER'    Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BREAK_LOOP'  Name.Label
+'BREAK_LOOP'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'CONTINUE_LOOP' Name.Label
+'CONTINUE_LOOP' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'SETUP_LOOP'  Name.Label
+'SETUP_LOOP'  Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'SETUP_EXCEPT' Name.Label
+'SETUP_EXCEPT' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'SETUP_FINALLY' Name.Label
+'SETUP_FINALLY' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'WITH_CLEANUP' Name.Label
+'WITH_CLEANUP' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'CALL_FUNCTION' Name.Label
+'CALL_FUNCTION' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'CALL_FUNCTION_VAR' Name.Label
+'CALL_FUNCTION_VAR' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'CALL_FUNCTION_KW' Name.Label
+'CALL_FUNCTION_KW' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'CALL_FUNCTION_VAR_KW' Name.Label
+'CALL_FUNCTION_VAR_KW' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'MAKE_FUNCTION' Name.Label
+'MAKE_FUNCTION' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'MAKE_CLOSURE' Name.Label
+'MAKE_CLOSURE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'BUILD_SLICE' Name.Label
+'BUILD_SLICE' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'EXTENDED_ARG' Name.Label
+'EXTENDED_ARG' Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
index 3def82e7dd0260e709fc9d73bcfdff9f8c9b6c98..76e2d7e7a9ae5f7726c7394582bc7a218e72da8b 100644 (file)
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'TYPE_VOID'   Name.Label
+'TYPE_VOID'   Name.Constant
 ':'           Punctuation
 '    '        Text.Whitespace
 'return'      Keyword
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'TYPE_INT'    Name.Label
+'TYPE_INT'    Name.Constant
 ':'           Punctuation
 '     '       Text.Whitespace
 'return'      Keyword
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'TYPE_FLOAT'  Name.Label
+'TYPE_FLOAT'  Name.Constant
 ':'           Punctuation
 '   '         Text.Whitespace
 'return'      Keyword
 '\t\t'        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'TYPE_BOOLEAN' Name.Label
+'TYPE_BOOLEAN' Name.Constant
 ':'           Punctuation
 ' '           Text.Whitespace
 'return'      Keyword
 '      '      Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'Qfalse'      Name.Label
+'Qfalse'      Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '      '      Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'Qnil'        Name.Label
+'Qnil'        Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t  '        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'T_STRING'    Name.Label
+'T_STRING'    Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t  '        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'T_ARRAY'     Name.Label
+'T_ARRAY'     Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t  '        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'Qfalse'      Name.Label
+'Qfalse'      Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '\t  '        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'Qnil'        Name.Label
+'Qnil'        Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
index 04e7f76cb4586903380b3b82892fee4729d5ebaf..16a652326b25608f458cdef4cae07388411c8401 100644 (file)
@@ -6,7 +6,7 @@ int id() {
     switch (2) {
         case Qfalse:
             break;
-        case Qnil:
+        case Qnil: case foo: case std::bar():
             return Qnil;
         default:
             return 0;
index 8eddeb4710842711fe501251fbf14707e920d32b..989567b223b4de399e1df7e5aeddfdef5d670ab8 100644 (file)
@@ -51,7 +51,7 @@
 '        '    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'Qfalse'      Name.Label
+'Qfalse'      Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '        '    Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'Qnil'        Name.Label
+'Qnil'        Name.Constant
+':'           Punctuation
+' '           Text.Whitespace
+'case'        Keyword
+' '           Text.Whitespace
+'foo'         Name.Constant
+':'           Punctuation
+' '           Text.Whitespace
+'case'        Keyword
+' '           Text.Whitespace
+'std'         Name.Constant
+':'           Operator
+':'           Operator
+'bar'         Name.Constant
+'('           Punctuation
+')'           Punctuation
 ':'           Punctuation
 '\n'          Text.Whitespace
 
index 2d3ed558f0c1bc1536819441c106393b01b0580f..234102d30ca3ac4359b33a055b902d15f6a2424f 100644 (file)
@@ -1,61 +1,61 @@
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'ceylon.language' Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 'parseInteger' Name
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'doc'         Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '"A top-level function,\n     with multi-line documentation."' Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'topLevel'    Name.Function
 '('           Operator
 'String'      Name
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'Integer'     Name
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '='           Operator
 '5'           Literal.Number.Integer
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'seqs'        Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'function'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nested'      Name.Function
 '('           Operator
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'print'       Name
 '('           Operator
 's'           Name
 ']'           Operator
 ')'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Operator
 's'           Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 'seqs'        Name
 '.'           Operator
 'filter'      Name.Attribute
 '('           Operator
 '('           Operator
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 '.'           Operator
 'size'        Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'nested'      Name
 '('           Operator
 's'           Name
 ')'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'value'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'uppers'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'seqs'        Name
 '.'           Operator
 'map'         Name.Attribute
 '('           Operator
 '('           Operator
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 '.'           Operator
 'uppercased'  Name.Attribute
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
 ')'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'String'      Name
 '|'           Operator
 'Null'        Name
-' '           Text
+' '           Text.Whitespace
 'z'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Operator
 'Integer'     Name
 '+'           Operator
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 'ints'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'value'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'numbers'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '#ffff'       Literal.Number.Hex
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '#ffff_ffff'  Literal.Number.Hex
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '$10101010'   Literal.Number.Bin
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '$1010_1010_1010_1010' Literal.Number.Bin
 ','           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '123_456_789' Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'value'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'chars'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 "'a'"         Literal.String.Char
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'\\{#ffff}'" Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'shared'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Example_1'   Name.Class
 '<'           Operator
 'Element'     Name
 '('           Operator
 'name'        Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'element'     Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 'satisfies'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Comparable'  Name
 '<'           Operator
 'Example_1'   Name
 'Element'     Name
 '>'           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'given'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Element'     Name
-' '           Text
+' '           Text.Whitespace
 'satisfies'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Comparable'  Name
 '<'           Operator
 'Element'     Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shared'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shared'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'Element'     Name
-' '           Text
+' '           Text.Whitespace
 'element'     Name
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shared'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 'Integer'     Name
 ','           Operator
 'String'      Name
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 'tuple'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 '1'           Literal.Number.Integer
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '"2"'         Literal.String
 ']'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shared'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'late'        Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'lastName'    Name
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'variable'    Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'Integer'     Name
-' '           Text
+' '           Text.Whitespace
 'cnt'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shared'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'Integer'     Name
-' '           Text
+' '           Text.Whitespace
 'count'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'cnt'         Name
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'assign'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'count'       Name
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'assert'      Keyword
 '('           Operator
 'count'       Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cnt'         Name
 ')'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'cnt'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shared'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'actual'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'Comparison'  Name
-' '           Text
+' '           Text.Whitespace
 'compare'     Name.Function
 '('           Operator
 'Example_1'   Name
 '<'           Operator
 'Element'     Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'element'     Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '.'           Operator
 'element'     Name.Attribute
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'shared'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'actual'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'string'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"Example with ``element.string``"' Literal.String
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Example_1'   Name
 '<'           Operator
 'Integer'     Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'instance'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Example_1'   Name
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'element'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'name'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"Named args call \\{#0060}"' Literal.String
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'example1'    Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Example_1'   Name
 '<'           Operator
 'Integer'     Name
 '('           Operator
 '"object"'    Literal.String
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
index c413a933436665cf486dbd35df770da5ea419022..fe8eafedd87410eaa6860aea70b610e192e415df 100644 (file)
@@ -1,38 +1,38 @@
 '; Note, clojure lexer is here (and is a good deal more liberal than the language spec:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/LispReader.java#L62' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'valid'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '#'           Operator
 '^'           Operator
 'java.lang.reflect.Method' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 ':keyword'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ':#initial-hash' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ':h#sh-in-middle' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ':hash-at-end#' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'js'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 ':keyword'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"value"'     Literal.String
 '}'           Punctuation
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index d22d8489c641afd49594c329ca5fe6daf9ba8764..9292d81e0e1bc22972c18e242d4399d5f27b8e78 100644 (file)
@@ -1,21 +1,21 @@
 '('           Punctuation
 '= '          Name.Builtin
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int '        Name.Builtin
 '\\;'         Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'do '         Keyword
 '('           Punctuation
 '.readLine'   Name.Function
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':line-start' Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index fd65ec1cad93cb5cf533ac5353202cbfd58457af..c61b76275a3bb8acca63a7ac7e96fd298e16118e 100644 (file)
 ';   Copyright (c) Rich Hickey. All rights reserved.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';   The use and distribution terms for this software are covered by the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';   Common Public License 1.0 (http://opensource.org/licenses/cpl.php)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';   which can be found in the file CPL.TXT at the root of this distribution.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';   By using this software in any fashion, you are agreeing to be bound by' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';   the terms of this license.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';   You must not remove this notice, or any other, from this software.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'in-ns '      Name.Builtin
 "'clojure"    Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'import '     Name.Builtin
 "'"           Operator
 '('           Punctuation
 'java.lang.reflect' Name.Function
-' '           Text
+' '           Text.Whitespace
 'Modifier'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Constructor' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'clojure.asm' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ClassWriter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ClassVisitor' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Type'        Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'clojure.asm.commons' Name.Function
-' '           Text
+' '           Text.Whitespace
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'GeneratorAdapter' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'clojure.lang' Name.Function
-' '           Text
+' '           Text.Whitespace
 'IPersistentMap' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';(defn method-sig [#^java.lang.reflect.Method meth]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';  [(. meth (getName)) (seq (. meth (getParameterTypes)))])' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn- '      Keyword.Declaration
 'non-private-methods' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '#'           Operator
 '^'           Operator
 'Class'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'loop '       Keyword
 '['           Punctuation
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 'considered'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '{'           Punctuation
 '}'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 'c'           Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '['           Punctuation
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'considered'  Name.Variable
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'loop '       Keyword
 '['           Punctuation
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mm'          Name.Variable
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 'considered'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'considered'  Name.Variable
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 'meths'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'seq '        Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getDeclaredMethods' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'seq '        Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getMethods'  Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 'meths'       Name.Variable
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '#'           Operator
 '^'           Operator
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first '      Name.Builtin
 'meths'       Name.Variable
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 'mods'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'meth'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getModifiers' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 'mk'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'method-sig'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 'or '         Name.Builtin
 '('           Punctuation
 'considered'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'mk'          Name.Variable
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Modifier'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isPrivate'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'mods'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Modifier'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isStatic'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'mods'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Modifier'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isFinal'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'mods'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'recur'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'conj '       Name.Builtin
 'considered'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mk'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest '       Name.Builtin
 'meths'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'recur'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'assoc '      Name.Builtin
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mk'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'conj '       Name.Builtin
 'considered'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mk'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest '       Name.Builtin
 'meths'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '['           Punctuation
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'considered'  Name.Variable
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'recur'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'considered'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getSuperclass' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'mm'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn- '      Keyword.Declaration
 'ctor-sigs'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'super'       Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'for '        Name.Builtin
 '['           Punctuation
 '#'           Operator
 '^'           Operator
 'Constructor' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ctor'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'super'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getDeclaredConstructors' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ':when'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not '        Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'Modifier'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isPrivate'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'ctor'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getModifiers' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'apply '      Name.Builtin
 'vector '     Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'ctor'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getParameterTypes' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn- '      Keyword.Declaration
 'escape-class-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'c'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '.. '         Name.Builtin
 '('           Punctuation
 '.getSimpleName' Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'replace '    Name.Builtin
 '"[]"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 '"<>"'        Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn- '      Keyword.Declaration
 'overload-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'mname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pclasses'    Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 'seq '        Name.Builtin
 'pclasses'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'apply '      Name.Builtin
 'str '        Name.Builtin
 'mname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'interleave ' Name.Builtin
 '('           Punctuation
 'repeat '     Name.Builtin
 '\\-'         Literal.String.Char
 ')'           Punctuation
-' \n                                 ' Text
+' \n                                 ' Text.Whitespace
 '('           Punctuation
 'map '        Name.Builtin
 'escape-class-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pclasses'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'mname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"-void"'     Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';(distinct (map first(keys (mapcat non-private-methods [Object IPersistentMap]))))' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'gen-class'   Name.Variable
-' \n  '       Text
+' \n  '       Text.Whitespace
 '"Generates compiled bytecode for a class with the given\n  package-qualified cname (which, as all names in these parameters, can\n  be a string or symbol). The gen-class construct contains no\n  implementation, as the implementation will be dynamically sought by\n  the generated class in functions in a corresponding Clojure\n  namespace. Given a generated class org.mydomain.MyClass, methods\n  will be implemented that look for same-named functions in a Clojure\n  namespace called org.domain.MyClass. The init and main\n  functions (see below) will be found similarly. The static\n  initializer for the generated class will attempt to load the Clojure\n  support code for the class as a resource from the claspath, e.g. in\n  the example case, org/mydomain/MyClass.clj\n\n  Returns a map containing :name and :bytecode. Most uses will be\n  satisfied by the higher-level gen-and-load-class and\n  gen-and-store-class functions, which generate and immediately load,\n  or generate and store to disk, respectively.\n\n  Options should be a set of key/value pairs, all of which are optional:\n\n  :extends aclass\n\n  Specifies the superclass, the non-private methods of which will be\n  overridden by the class. If not provided, defaults to Object.\n\n  :implements [interface ...]\n\n  One or more interfaces, the methods of which will be implemented by the class.\n\n  :init name\n\n  If supplied, names a function that will be called with the arguments\n  to the constructor. Must return [[superclass-constructor-args] state] \n  If not supplied, the constructor args are passed directly to\n  the superclass constructor and the state will be nil\n\n  :constructors {[param-types] [super-param-types], ...}\n\n  By default, constructors are created for the generated class which\n  match the signature(s) of the constructors for the superclass. This\n  parameter may be used to explicitly specify constructors, each entry\n  providing a mapping from a constructor signature to a superclass\n  constructor signature. When you supply this, you must supply an :init\n  specifier.\n\n  :methods [[name [param-types] return-type], ...]\n\n  The generated class automatically defines all of the non-private\n  methods of its superclasses/interfaces. This parameter can be used\n  to specify the signatures of additional methods of the generated\n  class. Do not repeat superclass/interface signatures here.\n\n  :main boolean\n\n  If supplied and true, a static public main function will be\n  generated. It will pass each string of the String[] argument as a\n  separate argument to a function called \'main.\n\n  :factory name\n\n  If supplied, a (set of) public static factory function(s) will be\n  created with the given name, and the same signature(s) as the\n  constructor(s).\n  \n  :state name\n\n  If supplied, a public final instance field with the given name will be\n  created. You must supply an :init function in order to provide a\n  value for the state. Note that, though final, the state can be a ref\n  or agent, supporting the creation of Java objects with transactional\n  or asynchronous mutation semantics.\n\n  :exposes {protected-field-name {:get name :set name}, ...}\n\n  Since the implementations of the methods of the generated class\n  occur in Clojure functions, they have no access to the inherited\n  protected fields of the superclass. This parameter can be used to\n  generate public getter/setter methods exposing the protected field(s)\n  for use in the implementation."' Literal.String
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 '['           Punctuation
 'cname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'options'     Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'str '        Name.Builtin
 'cname'       Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '{'           Punctuation
 ':keys'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'extends'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'implements'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'constructors' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'methods'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'factory'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'init'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'exposes'     Name.Variable
 ']'           Punctuation
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply '      Name.Builtin
 'hash-map '   Name.Builtin
 'options'     Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'super'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or '         Name.Builtin
 'extends'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Object'      Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'interfaces'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'implements'  Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 'supers'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons '       Name.Builtin
 'super'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'seq '        Name.Builtin
 'interfaces'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'ctor-sig-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or '         Name.Builtin
 'constructors' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zipmap '     Name.Builtin
 '('           Punctuation
 'ctor-sigs'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'super'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ctor-sigs'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'super'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'cv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'ClassWriter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'ClassWriter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'COMPUTE_MAXS' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'cname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'name '       Name.Builtin
 '('           Punctuation
 'replace '    Name.Builtin
 '"."'         Literal.String
-' '           Text
+' '           Text.Whitespace
 '"/"'         Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'ctype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getObjectType' Name.Function
-' '           Text
+' '           Text.Whitespace
 'cname'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'iname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'c'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.. '         Name.Builtin
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getType'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getInternalName' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'totype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'c'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getType'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'to-types'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'cs'          Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 'cs'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'into-array ' Name.Builtin
 '('           Punctuation
 'map '        Name.Builtin
 'totype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cs'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'make-array ' Name.Builtin
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'obj-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'Object'      Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'arg-types'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 'pos? '       Name.Builtin
 'n'           Name.Variable
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'into-array ' Name.Builtin
 '('           Punctuation
 'replicate '  Name.Builtin
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obj-type'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'make-array ' Name.Builtin
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'super-type'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'super'       Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'init-name'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'init'        Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'factory-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'factory'     Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'state-name'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'state'       Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'main-name'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"main"'      Literal.String
-'\n        '  Text
+'\n        '  Text.Whitespace
 'var-name'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 's'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"__var"'     Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'rt-type'     Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'clojure.lang.RT' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'var-type'    Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'clojure.lang.Var' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'ifn-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'clojure.lang.IFn' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'iseq-type'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'clojure.lang.ISeq' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'ex-type'     Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'java.lang.UnsupportedOperationException' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'all-sigs'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'distinct '   Name.Builtin
 '('           Punctuation
 '['           Punctuation
 '['           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key '        Name.Builtin
 '%'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'p'           Name.Variable
 ']'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mapcat '     Name.Builtin
 'non-private-methods' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'supers'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                                   ' Text
+'\n                                   ' Text.Whitespace
 '('           Punctuation
 'map '        Name.Builtin
 '('           Punctuation
 '['           Punctuation
 '['           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '('           Punctuation
 'str '        Name.Builtin
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'p'           Name.Variable
 ']'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methods'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'sigs-by-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply '      Name.Builtin
 'merge-with ' Name.Builtin
 'concat '     Name.Builtin
 '{'           Punctuation
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'all-sigs'    Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'overloads'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'into '       Name.Builtin
 '{'           Punctuation
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'filter '     Name.Builtin
 '('           Punctuation
 '['           Punctuation
 '['           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest '       Name.Builtin
 's'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sigs-by-name' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'var-fields'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat '     Name.Builtin
 '('           Punctuation
 'and '        Name.Builtin
 'init'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'init-name'   Name.Variable
 ']'           Punctuation
 ')'           Punctuation
-' \n                           ' Text
+' \n                           ' Text.Whitespace
 '('           Punctuation
 'and '        Name.Builtin
 'main'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'main-name'   Name.Variable
 ']'           Punctuation
 ')'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '('           Punctuation
 'distinct '   Name.Builtin
 '('           Punctuation
 'keys '       Name.Builtin
 'sigs-by-name' Name.Variable
 ')'           Punctuation
-'\n                                             ' Text
+'\n                                             ' Text.Whitespace
 '('           Punctuation
 'mapcat '     Name.Builtin
 '('           Punctuation
 '['           Punctuation
 '['           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'map '        Name.Builtin
 '#'           Operator
 '('           Punctuation
 'overload-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '%'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'overloads'   Name.Variable
 ')'           Punctuation
-'\n                                             ' Text
+'\n                                             ' Text.Whitespace
 '('           Punctuation
 'mapcat '     Name.Builtin
 '('           Punctuation
 'map '        Name.Builtin
 'str'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vals '       Name.Builtin
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'exposes'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'emit-get-var' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ']'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'false-label' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newLabel'    Name.Variable
 ')'           Punctuation
-'\n                             ' Text
+'\n                             ' Text.Whitespace
 'end-label'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newLabel'    Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'getStatic'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'var-name'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'var-type'    Name.Variable
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dup'         Name.Variable
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'invokeVirtual' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'var-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getMethod'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '"boolean isBound()"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ifZCmp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'GeneratorAdapter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'EQ'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false-label' Name.Variable
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'invokeVirtual' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'var-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getMethod'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '"Object get()"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'goTo'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end-label'   Name.Variable
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mark'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'false-label' Name.Variable
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pop'         Name.Variable
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'visitInsn'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACONST_NULL' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mark'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end-label'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'emit-forwarding-method' Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'mname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pclasses'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rclass'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'else-gen'    Name.Variable
 ']'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'ptypes'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'to-types'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'pclasses'    Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'rtype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'rclass'      Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rtype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ptypes'      Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'is-overload' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overloads'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'mname'       Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'GeneratorAdapter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cv'          Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'found-label' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newLabel'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'else-label'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newLabel'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'end-label'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newLabel'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitCode'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 'is-overload' Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'emit-get-var' Name.Function
-' '           Text
+' '           Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overload-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 'mname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pclasses'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dup'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ifNonNull'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'found-label' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'emit-get-var' Name.Function
-' '           Text
+' '           Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mname'       Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dup'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ifNull'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'else-label'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 'is-overload' Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mark'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'found-label' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';if found'   Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadThis'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';box args'   Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'dotimes '    Name.Builtin
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'count '      Name.Builtin
 'ptypes'      Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadArg'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'clojure.lang.Compiler$HostExpr' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'emitBoxReturn' Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth '        Name.Builtin
 'pclasses'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';call fn'    Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeInterface' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ifn-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"invoke"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 'obj-type'    Name.Variable
-' \n                                                  ' Text
+' \n                                                  ' Text.Whitespace
 '('           Punctuation
 'into-array ' Name.Builtin
 '('           Punctuation
 'cons '       Name.Builtin
 'obj-type'    Name.Variable
-' \n                                                                    ' Text
+' \n                                                                    ' Text.Whitespace
 '('           Punctuation
 'replicate '  Name.Builtin
 '('           Punctuation
 'count '      Name.Builtin
 'ptypes'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj-type'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';unbox return' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unbox'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'rtype'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 '('           Punctuation
 '('           Punctuation
 '. '          Keyword
 'rtype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getSort'     Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VOID'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'goTo'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'end-label'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            \n                                        ' Text
+'\n            \n                                        ' Text.Whitespace
 ';else call supplied alternative generator' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mark'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'else-label'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            \n            ' Text
+'\n            \n            ' Text.Whitespace
 '('           Punctuation
 'else-gen'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-'\n            \n            ' Text
+'\n            \n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mark'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'end-label'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'returnValue' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'endMethod'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ']'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';start class definition' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'cv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visit'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'V1_5'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 'cname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iname'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'super'       Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 'interfaces'  Name.Variable
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'into-array ' Name.Builtin
 '('           Punctuation
 'map '        Name.Builtin
 'iname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'interfaces'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    \n                                        ' Text
+'\n    \n                                        ' Text.Whitespace
 ';static fields for vars' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'doseq '      Name.Builtin
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'var-fields'  Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'cv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitField'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_FINAL'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_STATIC'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'var-name'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-' \n                        ' Text
+' \n                        ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'var-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'getDescriptor' Name.Variable
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    \n                                        ' Text
+'\n    \n                                        ' Text.Whitespace
 ';instance field for state' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 'state'       Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'cv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitField'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_FINAL'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 'state-name'  Name.Variable
-' \n                        ' Text
+' \n                        ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'obj-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'getDescriptor' Name.Variable
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    \n                                        ' Text
+'\n    \n                                        ' Text.Whitespace
 ';static init to set up var fields and load clj' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'GeneratorAdapter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_STATIC'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' \n                   ' Text
+' \n                   ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'getMethod'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"void <clinit> ()"' Literal.String
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cv'          Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitCode'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'doseq '      Name.Builtin
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'var-fields'  Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'push'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'push'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeStatic' Name.Function
-' '           Text
+' '           Text.Whitespace
 'rt-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getMethod'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '"clojure.lang.Var var(String,String)"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'putStatic'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'var-name'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'var-type'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      \n      ' Text
+'\n      \n      ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'push'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'push'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 '('           Punctuation
 'name '       Name.Builtin
 'replace '    Name.Builtin
 '\\.'         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'java.io.File' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'separatorChar' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '".clj"'      Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeStatic' Name.Function
-' '           Text
+' '           Text.Whitespace
 'rt-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getMethod'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '"void loadResourceScript(Class,String)"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      \n      ' Text
+'\n      \n      ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'returnValue' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'endMethod'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    \n                                        ' Text
+'\n    \n                                        ' Text.Whitespace
 ';ctors'      Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'doseq '      Name.Builtin
 '['           Punctuation
 'pclasses'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'super-pclasses' Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ctor-sig-map' Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'ptypes'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'to-types'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'pclasses'    Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'super-ptypes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'to-types'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'super-pclasses' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"<init>"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VOID_TYPE'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptypes'      Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'super-m'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"<init>"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VOID_TYPE'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'super-ptypes' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'GeneratorAdapter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cv'          Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'no-init-label' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newLabel'    Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'end-label'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newLabel'    Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'nth-method'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getMethod'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '"Object nth(Object,int)"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'local'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newLocal'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obj-type'    Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitCode'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        \n        ' Text
+'\n        \n        ' Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 'init'        Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'do'          Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'emit-get-var' Name.Function
-' '           Text
+' '           Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'init-name'   Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dup'         Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ifNull'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'no-init-label' Name.Variable
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';box init args' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'dotimes '    Name.Builtin
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'count '      Name.Builtin
 'pclasses'    Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadArg'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'clojure.lang.Compiler$HostExpr' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'emitBoxReturn' Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth '        Name.Builtin
 'pclasses'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';call init fn' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeInterface' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ifn-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"invoke"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 'obj-type'    Name.Variable
-' \n                                                  ' Text
+' \n                                                  ' Text.Whitespace
 '('           Punctuation
 'arg-types'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'count '      Name.Builtin
 'ptypes'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';expecting [[super-ctor-args] state] returned' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dup'         Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'push'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeStatic' Name.Function
-' '           Text
+' '           Text.Whitespace
 'rt-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nth-method'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'storeLocal'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
 ')'           Punctuation
-'\n            \n            ' Text
+'\n            \n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadThis'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dupX1'       Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'dotimes '    Name.Builtin
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'count '      Name.Builtin
 'super-pclasses' Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'loadLocal'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'push'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeStatic' Name.Function
-' '           Text
+' '           Text.Whitespace
 'rt-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nth-method'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'clojure.lang.Compiler$HostExpr' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'emitUnboxArg' Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth '        Name.Builtin
 'super-pclasses' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeConstructor' Name.Function
-' '           Text
+' '           Text.Whitespace
 'super-type'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'super-m'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            \n            ' Text
+'\n            \n            ' Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 'state'       Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'do'          Name.Function
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'push'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeStatic' Name.Function
-' '           Text
+' '           Text.Whitespace
 'rt-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nth-method'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'putField'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'state-name'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obj-type'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pop'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            \n            ' Text
+'\n            \n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'goTo'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end-label'   Name.Variable
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';no init found' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mark'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'no-init-label' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'throwException' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ex-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'init-name'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '" not defined"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mark'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end-label'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 '= '          Name.Builtin
 'pclasses'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'super-pclasses' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'do'          Name.Function
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadThis'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadArgs'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeConstructor' Name.Function
-' '           Text
+' '           Text.Whitespace
 'super-type'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'super-m'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'throw'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Exception'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '":init not specified, but ctor and super ctor args differ"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n        ' Text
+'\n\n        ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'returnValue' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'endMethod'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';factory'    Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 'factory'     Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'fm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'factory-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ptypes'      Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'GeneratorAdapter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_STATIC'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' \n                         ' Text
+' \n                         ' Text.Whitespace
 'fm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cv'          Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitCode'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newInstance' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dup'         Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadArgs'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeConstructor' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'            \n            ' Text
+'            \n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'returnValue' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'endMethod'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    \n                                        ' Text
+'\n    \n                                        ' Text.Whitespace
 ";add methods matching supers', if no fn -> call super" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'non-private-methods' Name.Function
-' '           Text
+' '           Text.Whitespace
 'super'       Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'doseq '      Name.Builtin
 '#'           Operator
 '^'           Operator
 'java.lang.reflect.Method' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vals '       Name.Builtin
 'mm'          Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'emit-forwarding-method' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.getName'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.getParameterTypes' Name.Function
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.getReturnType' Name.Function
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
-' \n                                     ' Text
+' \n                                     ' Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ']'           Punctuation
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadThis'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';push args'  Comment.Single
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loadArgs'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';call super' Comment.Single
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitMethodInsn' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'INVOKESPECIAL' Name.Variable
 ')'           Punctuation
-' \n                                                               ' Text
+' \n                                                               ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'super-type'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getInternalName' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                                                               ' Text
+'\n                                                               ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getName'     Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                                                               ' Text
+'\n                                                               ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getDescriptor' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ";add methods matching interfaces', if no fn -> throw" Comment.Single
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'doseq '      Name.Builtin
 '#'           Operator
 '^'           Operator
 'Class'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'iface'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'interfaces'  Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'doseq '      Name.Builtin
 '#'           Operator
 '^'           Operator
 'java.lang.reflect.Method' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'iface'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getMethods'  Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'when-not '   Name.Builtin
 '('           Punctuation
 'contains? '  Name.Builtin
 'mm'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'method-sig'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'emit-forwarding-method' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.getName'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.getParameterTypes' Name.Function
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.getReturnType' Name.Function
-' '           Text
+' '           Text.Whitespace
 'meth'        Name.Variable
 ')'           Punctuation
-' \n                                               ' Text
+' \n                                               ' Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ']'           Punctuation
-'\n                                                 ' Text
+'\n                                                 ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'throwException' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ex-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getName'     Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';extra methods' Comment.Single
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'doseq '      Name.Builtin
 '['           Punctuation
 'mname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pclasses'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rclass'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':as'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'msig'        Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'methods'     Name.Variable
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'emit-forwarding-method' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'mname'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pclasses'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rclass'      Name.Variable
-' \n                                 ' Text
+' \n                                 ' Text.Whitespace
 '('           Punctuation
 'fn '         Keyword
 '['           Punctuation
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ']'           Punctuation
-'\n                                     ' Text
+'\n                                     ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'throwException' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ex-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getName'     Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n                                        ' Text
+'\n\n                                        ' Text.Whitespace
 ';main'       Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 'main'        Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'getMethod'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"void main (String[])"' Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'GeneratorAdapter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Name.Builtin
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_STATIC'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' \n                     ' Text
+' \n                     ' Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cv'          Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'no-main-label' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newLabel'    Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'end-label'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newLabel'    Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitCode'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\n        ' Text
+'\n\n        ' Text.Whitespace
 '('           Punctuation
 'emit-get-var' Name.Function
-' '           Text
+' '           Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'main-name'   Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dup'         Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ifNull'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'no-main-label' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'loadArgs'    Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeStatic' Name.Function
-' '           Text
+' '           Text.Whitespace
 'rt-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getMethod'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '"clojure.lang.ISeq seq(Object)"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'invokeInterface' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ifn-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"applyTo"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'obj-type'    Name.Variable
-' \n                                              ' Text
+' \n                                              ' Text.Whitespace
 '('           Punctuation
 'into-array ' Name.Builtin
 '['           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pop'         Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'goTo'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end-label'   Name.Variable
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';no main found' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mark'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'no-main-label' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'throwException' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ex-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'main-name'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '" not defined"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mark'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end-label'   Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'returnValue' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'endMethod'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';field exposers' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'doseq '      Name.Builtin
 '['           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 'getter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':get'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'setter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':set'        Literal.String.Symbol
 '}'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'exposes'     Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'fld'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.getField'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'super'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'ftype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'totype'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.getType'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'fld'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 'getter'      Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'getter'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ftype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'to-types'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'GeneratorAdapter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cv'          Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitCode'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'loadThis'    Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'getField'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'f'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ftype'       Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'returnValue' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'endMethod'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when '       Name.Builtin
 'setter'      Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'Method'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'setter'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VOID_TYPE'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'into-array ' Name.Builtin
 '['           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'GeneratorAdapter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'Opcodes'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ACC_PUBLIC'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cv'          Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitCode'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'loadThis'    Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'loadArgs'    Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'putField'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ctype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'f'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ftype'       Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'returnValue' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'gen'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'endMethod'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';finish class def' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'cv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'visitEnd'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '{'           Punctuation
 ':name'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'name '       Name.Builtin
 ':bytecode'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'cv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'toByteArray' Name.Function
 ')'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'gen-and-load-class' Name.Variable
-' \n  '       Text
+' \n  '       Text.Whitespace
 '"Generates and immediately loads the bytecode for the specified\n  class. Note that a class generated this way can be loaded only once\n  - the JVM supports only one class with a given name per\n  classloader. Subsequent to generation you can import it into any\n  desired namespaces just like any other class. See gen-class for a\n  description of the options."' Literal.String
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 '['           Punctuation
 'name '       Name.Builtin
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'options'     Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '{'           Punctuation
 ':keys'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'name '       Name.Builtin
 'bytecode'    Name.Variable
 ']'           Punctuation
 '}'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'apply '      Name.Builtin
 'gen-class'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'name'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'options'     Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '.. '         Name.Builtin
 'clojure.lang.RT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ROOT_CLASSLOADER' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'defineClass' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'name'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bytecode'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'gen-and-save-class' Name.Variable
-' \n  '       Text
+' \n  '       Text.Whitespace
 '"Generates the bytecode for the named class and stores in a .class\n  file in a subpath of the supplied path, the directories for which\n  must already exist. See gen-class for a description of the options"' Literal.String
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 '['           Punctuation
 'path '       Name.Builtin
 'name '       Name.Builtin
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'options'     Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '{'           Punctuation
 ':keys'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'name '       Name.Builtin
 'bytecode'    Name.Variable
 ']'           Punctuation
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply '      Name.Builtin
 'gen-class'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str '        Name.Builtin
 'name'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'options'     Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'java.io.File.' Name.Function
-' '           Text
+' '           Text.Whitespace
 'path '       Name.Builtin
 '('           Punctuation
 'str '        Name.Builtin
 'name '       Name.Builtin
 'replace '    Name.Builtin
 '\\.'         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'java.io.File' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'separatorChar' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '".class"'    Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '.createNewFile' Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'with-open '  Name.Builtin
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'java.io.FileOutputStream.' Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '.write'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'bytecode'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'comment'     Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';usage'      Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'gen-class'   Name.Function
-' \n '        Text
+' \n '        Text.Whitespace
 'package-qualified-name' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';all below are optional' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 ':extends'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'aclass'      Name.Variable
-'\n '         Text
+'\n '         Text.Whitespace
 ':implements' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'interface'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '...'         Name.Variable
 ']'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 ':constructors' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '['           Punctuation
 'param-types' Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'super-param-types' Name.Variable
 ']'           Punctuation
-', '          Text
+','           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 ':methods'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'name '       Name.Builtin
 '['           Punctuation
 'param-types' Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return-type' Name.Variable
 ']'           Punctuation
-', '          Text
+','           Text
+' '           Text.Whitespace
 ']'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 ':main'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'boolean'     Name.Variable
-'\n '         Text
+'\n '         Text.Whitespace
 ':factory'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-'\n '         Text
+'\n '         Text.Whitespace
 ':state'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-'\n '         Text
+'\n '         Text.Whitespace
 ':init'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-'\n '         Text
+'\n '         Text.Whitespace
 ':exposes'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 'protected-field' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 ':get'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'name '       Name.Builtin
 ':set'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 '}'           Punctuation
-', '          Text
+','           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ')'           Punctuation
-'\n \n'       Text
+'\n \n'       Text.Whitespace
 
 ';(gen-and-load-class ' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'clojure/gen-and-save-class' Name.Function
-' \n '        Text
+' \n '        Text.Whitespace
 '"/Users/rich/Downloads"' Literal.String
-'\n '         Text
+'\n '         Text.Whitespace
 "'fred.lucy.Ethel" Literal.String.Symbol
-' \n '        Text
+' \n '        Text.Whitespace
 ':extends'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'clojure.lang.Box' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ';APersistentMap' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 ':implements' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'clojure.lang.IPersistentMap' Name.Variable
 ']'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 ':state'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'state"      Literal.String.Symbol
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ';:constructors {[Object] [Object]}' Comment.Single
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 ";:init 'init" Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 ':main'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Variable
-'\n '         Text
+'\n '         Text.Whitespace
 ':factory'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'create"     Literal.String.Symbol
-'\n '         Text
+'\n '         Text.Whitespace
 ':methods'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 "'foo"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'Object'      Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Object'      Name.Variable
 ']'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '['           Punctuation
 "'foo"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Object'      Name.Variable
 ']'           Punctuation
 ']'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 ':exposes'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 "'val"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 ':get'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'getVal"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ':set'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'setVal"     Literal.String.Symbol
 '}'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'in-ns '      Name.Builtin
 "'fred.lucy.Ethel__2276" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'clojure/refer' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'clojure"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ':exclude'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'assoc '      Name.Builtin
 'cons'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'init'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'foo'         Name.Variable
-' \n  '       Text
+' \n  '       Text.Whitespace
 '('           Punctuation
 '['           Punctuation
 'this'        Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':foo'        Literal.String.Symbol
 ')'           Punctuation
-' \n  '       Text
+' \n  '       Text.Whitespace
 '('           Punctuation
 '['           Punctuation
 'this'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'main'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'println '    Name.Builtin
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'in-ns '      Name.Builtin
 "'user"       Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def '        Keyword
 'ethel'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new '        Keyword
 'fred.lucy.Ethel__2276' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '42'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def '        Keyword
 'ethel'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fred.lucy.Ethel__2276.create' Name.Function
-' '           Text
+' '           Text.Whitespace
 '21'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'fred.lucy.Ethel__2276.main' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'into-array ' Name.Builtin
 '['           Punctuation
 '"lucy"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '"ricky"'     Literal.String
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '.state'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'ethel'       Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '.foo'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'ethel'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '.foo'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'ethel'       Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '.getVal'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'ethel'       Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '.setVal'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'ethel'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '12'          Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'gen-class'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'org.clojure.MyComparator' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':implements' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'Comparator'  Name.Variable
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'in-ns '      Name.Builtin
 "'org.clojure.MyComparator" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'compare'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'this'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '...'         Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'load-file '  Name.Builtin
 '"/Users/rich/dev/clojure/src/genclass.clj"' Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'clojure/gen-and-save-class' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"/Users/rich/dev/clojure/gen/"' Literal.String
-' \n '        Text
+' \n '        Text.Whitespace
 "'org.clojure.ClojureServlet" Literal.String.Symbol
-' \n '        Text
+' \n '        Text.Whitespace
 ':extends'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'javax.servlet.http.HttpServlet' Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/clojure/loggers.cljc b/tests/examplefiles/clojure/loggers.cljc
new file mode 100644 (file)
index 0000000..d9a6722
--- /dev/null
@@ -0,0 +1,51 @@
+(ns re-frame.loggers
+  (:require
+   [clojure.set :refer [difference]]
+   #?@(:clj [[clojure.string :as str]
+             [clojure.tools.logging :as log]])))
+
+#?(:clj (defn log [level & args]
+          (log/log level (if (= 1 (count args))
+                           (first args)
+                           (str/join " " args)))))
+
+
+;; XXX should loggers be put in the registrar ??
+(def ^:private loggers
+  "Holds the current set of logging functions.
+   By default, re-frame uses the functions provided by js/console.
+   Use `set-loggers!` to change these defaults
+  "
+  (atom #?(:cljs {:log       (js/console.log.bind   js/console)
+                  :warn      (js/console.warn.bind  js/console)
+                  :error     (js/console.error.bind js/console)
+                  :debug     (js/console.debug.bind js/console)
+                  :group     (if (.-group js/console)         ;; console.group does not exist  < IE 11
+                               (js/console.group.bind js/console)
+                               (js/console.log.bind   js/console))
+                  :groupEnd  (if (.-groupEnd js/console)        ;; console.groupEnd does not exist  < IE 11
+                               (js/console.groupEnd.bind js/console)
+                               #())})
+        ;; clojure versions
+        #?(:clj {:log      (partial log :info)
+                 :warn     (partial log :warn)
+                 :error    (partial log :error)
+                 :debug    (partial log :debug)
+                 :group    (partial log :info)
+                 :groupEnd  #()})))
+
+(defn console
+  [level & args]
+  (assert (contains? @loggers level) (str "re-frame: log called with unknown level: " level))
+  (apply (level @loggers) args))
+
+
+(defn set-loggers!
+  [new-loggers]
+  (assert  (empty? (difference (set (keys new-loggers)) (-> @loggers keys set))) "Unknown keys in new-loggers")
+  (swap! loggers merge new-loggers))
+
+(defn get-loggers
+  "Get the current logging functions used by re-frame."
+  []
+  @loggers)
diff --git a/tests/examplefiles/clojure/loggers.cljc.output b/tests/examplefiles/clojure/loggers.cljc.output
new file mode 100644 (file)
index 0000000..0bbcb3e
--- /dev/null
@@ -0,0 +1,370 @@
+'('           Punctuation
+'ns '         Keyword.Declaration
+'re-frame.loggers' Name.Variable
+'\n  '        Text.Whitespace
+'('           Punctuation
+':require'    Literal.String.Symbol
+'\n   '       Text.Whitespace
+'['           Punctuation
+'clojure.set' Name.Variable
+' '           Text.Whitespace
+':refer'      Literal.String.Symbol
+' '           Text.Whitespace
+'['           Punctuation
+'difference'  Name.Variable
+']'           Punctuation
+']'           Punctuation
+'\n   '       Text.Whitespace
+'#'           Operator
+'?'           Name.Variable
+'@'           Operator
+'('           Punctuation
+':clj'        Literal.String.Symbol
+' '           Text.Whitespace
+'['           Punctuation
+'['           Punctuation
+'clojure.string' Name.Variable
+' '           Text.Whitespace
+':as'         Literal.String.Symbol
+' '           Text.Whitespace
+'str'         Name.Variable
+']'           Punctuation
+'\n             ' Text.Whitespace
+'['           Punctuation
+'clojure.tools.logging' Name.Variable
+' '           Text.Whitespace
+':as'         Literal.String.Symbol
+' '           Text.Whitespace
+'log'         Name.Variable
+']'           Punctuation
+']'           Punctuation
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'#'           Operator
+'?'           Name.Variable
+'('           Punctuation
+':clj'        Literal.String.Symbol
+' '           Text.Whitespace
+'('           Punctuation
+'defn '       Keyword.Declaration
+'log'         Name.Variable
+' '           Text.Whitespace
+'['           Punctuation
+'level'       Name.Variable
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
+'args'        Name.Variable
+']'           Punctuation
+'\n          ' Text.Whitespace
+'('           Punctuation
+'log/log'     Name.Function
+' '           Text.Whitespace
+'level'       Name.Variable
+' '           Text.Whitespace
+'('           Punctuation
+'if '         Keyword
+'('           Punctuation
+'= '          Name.Builtin
+'1'           Literal.Number.Integer
+' '           Text.Whitespace
+'('           Punctuation
+'count '      Name.Builtin
+'args'        Name.Variable
+')'           Punctuation
+')'           Punctuation
+'\n                           ' Text.Whitespace
+'('           Punctuation
+'first '      Name.Builtin
+'args'        Name.Variable
+')'           Punctuation
+'\n                           ' Text.Whitespace
+'('           Punctuation
+'str/join'    Name.Function
+' '           Text.Whitespace
+'" "'         Literal.String
+' '           Text.Whitespace
+'args'        Name.Variable
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+'\n\n\n'      Text.Whitespace
+
+';; XXX should loggers be put in the registrar ??' Comment.Single
+'\n'          Text.Whitespace
+
+'('           Punctuation
+'def '        Keyword
+'^'           Operator
+':private'    Literal.String.Symbol
+' '           Text.Whitespace
+'loggers'     Name.Variable
+'\n  '        Text.Whitespace
+'"Holds the current set of logging functions.\n   By default, re-frame uses the functions provided by js/console.\n   Use `set-loggers!` to change these defaults\n  "' Literal.String
+'\n  '        Text.Whitespace
+'('           Punctuation
+'atom'        Name.Function
+' '           Text.Whitespace
+'#'           Operator
+'?'           Name.Variable
+'('           Punctuation
+':cljs'       Literal.String.Symbol
+' '           Text.Whitespace
+'{'           Punctuation
+':log'        Literal.String.Symbol
+'       '     Text.Whitespace
+'('           Punctuation
+'js/console.log.bind' Name.Function
+'   '         Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+'\n                  ' Text.Whitespace
+':warn'       Literal.String.Symbol
+'      '      Text.Whitespace
+'('           Punctuation
+'js/console.warn.bind' Name.Function
+'  '          Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+'\n                  ' Text.Whitespace
+':error'      Literal.String.Symbol
+'     '       Text.Whitespace
+'('           Punctuation
+'js/console.error.bind' Name.Function
+' '           Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+'\n                  ' Text.Whitespace
+':debug'      Literal.String.Symbol
+'     '       Text.Whitespace
+'('           Punctuation
+'js/console.debug.bind' Name.Function
+' '           Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+'\n                  ' Text.Whitespace
+':group'      Literal.String.Symbol
+'     '       Text.Whitespace
+'('           Punctuation
+'if '         Keyword
+'('           Punctuation
+'.-group'     Name.Function
+' '           Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+'         '   Text.Whitespace
+';; console.group does not exist  < IE 11' Comment.Single
+'\n                               ' Text.Whitespace
+'('           Punctuation
+'js/console.group.bind' Name.Function
+' '           Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+'\n                               ' Text.Whitespace
+'('           Punctuation
+'js/console.log.bind' Name.Function
+'   '         Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+')'           Punctuation
+'\n                  ' Text.Whitespace
+':groupEnd'   Literal.String.Symbol
+'  '          Text.Whitespace
+'('           Punctuation
+'if '         Keyword
+'('           Punctuation
+'.-groupEnd'  Name.Function
+' '           Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+'        '    Text.Whitespace
+';; console.groupEnd does not exist  < IE 11' Comment.Single
+'\n                               ' Text.Whitespace
+'('           Punctuation
+'js/console.groupEnd.bind' Name.Function
+' '           Text.Whitespace
+'js/console'  Name.Variable
+')'           Punctuation
+'\n                               ' Text.Whitespace
+'#'           Operator
+'('           Punctuation
+')'           Punctuation
+')'           Punctuation
+'}'           Punctuation
+')'           Punctuation
+'\n        '  Text.Whitespace
+';; clojure versions' Comment.Single
+'\n        '  Text.Whitespace
+'#'           Operator
+'?'           Name.Variable
+'('           Punctuation
+':clj'        Literal.String.Symbol
+' '           Text.Whitespace
+'{'           Punctuation
+':log'        Literal.String.Symbol
+'      '      Text.Whitespace
+'('           Punctuation
+'partial '    Name.Builtin
+'log'         Name.Variable
+' '           Text.Whitespace
+':info'       Literal.String.Symbol
+')'           Punctuation
+'\n                 ' Text.Whitespace
+':warn'       Literal.String.Symbol
+'     '       Text.Whitespace
+'('           Punctuation
+'partial '    Name.Builtin
+'log'         Name.Variable
+' '           Text.Whitespace
+':warn'       Literal.String.Symbol
+')'           Punctuation
+'\n                 ' Text.Whitespace
+':error'      Literal.String.Symbol
+'    '        Text.Whitespace
+'('           Punctuation
+'partial '    Name.Builtin
+'log'         Name.Variable
+' '           Text.Whitespace
+':error'      Literal.String.Symbol
+')'           Punctuation
+'\n                 ' Text.Whitespace
+':debug'      Literal.String.Symbol
+'    '        Text.Whitespace
+'('           Punctuation
+'partial '    Name.Builtin
+'log'         Name.Variable
+' '           Text.Whitespace
+':debug'      Literal.String.Symbol
+')'           Punctuation
+'\n                 ' Text.Whitespace
+':group'      Literal.String.Symbol
+'    '        Text.Whitespace
+'('           Punctuation
+'partial '    Name.Builtin
+'log'         Name.Variable
+' '           Text.Whitespace
+':info'       Literal.String.Symbol
+')'           Punctuation
+'\n                 ' Text.Whitespace
+':groupEnd'   Literal.String.Symbol
+'  '          Text.Whitespace
+'#'           Operator
+'('           Punctuation
+')'           Punctuation
+'}'           Punctuation
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'('           Punctuation
+'defn '       Keyword.Declaration
+'console'     Name.Variable
+'\n  '        Text.Whitespace
+'['           Punctuation
+'level'       Name.Variable
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
+'args'        Name.Variable
+']'           Punctuation
+'\n  '        Text.Whitespace
+'('           Punctuation
+'assert '     Name.Builtin
+'('           Punctuation
+'contains? '  Name.Builtin
+'@'           Operator
+'loggers'     Name.Variable
+' '           Text.Whitespace
+'level'       Name.Variable
+')'           Punctuation
+' '           Text.Whitespace
+'('           Punctuation
+'str '        Name.Builtin
+'"re-frame: log called with unknown level: "' Literal.String
+' '           Text.Whitespace
+'level'       Name.Variable
+')'           Punctuation
+')'           Punctuation
+'\n  '        Text.Whitespace
+'('           Punctuation
+'apply '      Name.Builtin
+'('           Punctuation
+'level'       Name.Function
+' '           Text.Whitespace
+'@'           Operator
+'loggers'     Name.Variable
+')'           Punctuation
+' '           Text.Whitespace
+'args'        Name.Variable
+')'           Punctuation
+')'           Punctuation
+'\n\n\n'      Text.Whitespace
+
+'('           Punctuation
+'defn '       Keyword.Declaration
+'set-loggers!' Name.Variable
+'\n  '        Text.Whitespace
+'['           Punctuation
+'new-loggers' Name.Variable
+']'           Punctuation
+'\n  '        Text.Whitespace
+'('           Punctuation
+'assert '     Name.Builtin
+' '           Text.Whitespace
+'('           Punctuation
+'empty?'      Name.Function
+' '           Text.Whitespace
+'('           Punctuation
+'difference ' Name.Builtin
+'('           Punctuation
+'set '        Name.Builtin
+'('           Punctuation
+'keys '       Name.Builtin
+'new-loggers' Name.Variable
+')'           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'('           Punctuation
+'-> '         Name.Builtin
+'@'           Operator
+'loggers'     Name.Variable
+' '           Text.Whitespace
+'keys '       Name.Builtin
+'set'         Name.Variable
+')'           Punctuation
+')'           Punctuation
+')'           Punctuation
+' '           Text.Whitespace
+'"Unknown keys in new-loggers"' Literal.String
+')'           Punctuation
+'\n  '        Text.Whitespace
+'('           Punctuation
+'swap!'       Name.Function
+' '           Text.Whitespace
+'loggers'     Name.Variable
+' '           Text.Whitespace
+'merge '      Name.Builtin
+'new-loggers' Name.Variable
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'('           Punctuation
+'defn '       Keyword.Declaration
+'get-loggers' Name.Variable
+'\n  '        Text.Whitespace
+'"Get the current logging functions used by re-frame."' Literal.String
+'\n  '        Text.Whitespace
+'['           Punctuation
+']'           Punctuation
+'\n  '        Text.Whitespace
+'@'           Operator
+'loggers'     Name.Variable
+')'           Punctuation
+'\n'          Text.Whitespace
index cb5be696f1e58284e4b9e67e1fa3fc766b2bb80a..15bc75b160cd2b6c7e56a2ffcd8e5267f8776eb2 100644 (file)
 '('           Punctuation
 'ns '         Keyword.Declaration
 'bounder.core' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ':require'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'bounder.html' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':as'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'html'        Name.Variable
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '['           Punctuation
 'domina'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':refer'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'set-value!'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'single-node' Name.Variable
 ']'           Punctuation
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '['           Punctuation
 'domina.css'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':refer'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'sel'         Name.Variable
 ']'           Punctuation
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '['           Punctuation
 'lowline.functions' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':refer'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'debounce'    Name.Variable
 ']'           Punctuation
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '['           Punctuation
 'enfocus.core' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':refer'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'at'          Name.Variable
 ']'           Punctuation
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '['           Punctuation
 'cljs.reader' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':as'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'reader'      Name.Variable
 ']'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '['           Punctuation
 'clojure.string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':as'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ']'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ':require-macros' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'enfocus.macros' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':as'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'em'          Name.Variable
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'def '        Keyword
 'filter-input' Name.Variable
-' \n  '       Text
+' \n  '       Text.Whitespace
 '('           Punctuation
 'single-node' Name.Function
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'sel'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '".search input"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'project-matches' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'query'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'project'     Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'words'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons '       Name.Builtin
 '('           Punctuation
 ':name'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'project'     Name.Variable
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'map '        Name.Builtin
 'name '       Name.Builtin
 '('           Punctuation
 ':categories' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'project'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'to-match'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '->>'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'words'       Name.Variable
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 's/join'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '""'          Literal.String
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 's/lower-case' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '<= '         Name.Builtin
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.indexOf'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'to-match'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's/lower-case' Name.Function
-' '           Text
+' '           Text.Whitespace
 'query'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'apply-filter-for' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'projects'    Name.Variable
 ']'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'query'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'value'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'filter-input' Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'html/render-projects' Name.Function
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 'filter '     Name.Builtin
 '('           Punctuation
 'partial '    Name.Builtin
 'project-matches' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'query'       Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 'projects'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'filter-category' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'projects'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'evt'         Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'target'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.-currentTarget' Name.Function
-' '           Text
+' '           Text.Whitespace
 'evt'         Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set-value!'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'filter-input' Name.Variable
-' \n                ' Text
+' \n                ' Text.Whitespace
 '('           Punctuation
 '.-innerHTML' Name.Function
-' '           Text
+' '           Text.Whitespace
 'target'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'apply-filter-for' Name.Function
-' '           Text
+' '           Text.Whitespace
 'projects'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'init-listeners' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'projects'    Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'at'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'js/document' Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '['           Punctuation
 '"input"'     Literal.String
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'em/listen'   Name.Function
-'\n                ' Text
+'\n                ' Text.Whitespace
 ':keyup'      Literal.String.Symbol
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'debounce'    Name.Function
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'partial '    Name.Builtin
 'apply-filter-for' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'projects'    Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '500'         Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '['           Punctuation
 '".category-links li"' Literal.String
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'em/listen'   Name.Function
-'\n                             ' Text
+'\n                             ' Text.Whitespace
 ':click'      Literal.String.Symbol
-'\n                             ' Text
+'\n                             ' Text.Whitespace
 '('           Punctuation
 'partial '    Name.Builtin
 'filter-category' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'projects'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'init'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'projects-edn' Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'projects'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'reader/read-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'projects-edn' Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'init-listeners' Name.Function
-' '           Text
+' '           Text.Whitespace
 'projects'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'html/render-projects' Name.Function
-' '           Text
+' '           Text.Whitespace
 'projects'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'html/loaded' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 009460b0b541d8cb13bea2f21ec08cc5be7a8e03..6d13fcd66769ee38fc2d5c7407c4fa2757372e3b 100644 (file)
-'# function arrows\n' Comment.Single
+'# function arrows' Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'methodA'     Name.Other
 ':'           Operator
 '->'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'A'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'methodB'     Name.Other
 ':'           Operator
 '=>'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'B'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'methodC'     Name.Other
 ':'           Operator
 '()=>'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'C'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'methodD'     Name.Other
 ':'           Operator
 '()->'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'D'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'methodE'     Name.Other
 ':'           Operator
 '(a,b)->'     Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'E'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'methodF'     Name.Other
 ':'           Operator
 '(c,d)->'     Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'F'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '->'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'G'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '=>'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'H'           Literal.String
 "'"           Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 '->'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'I'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '=>'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'J'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'# strings\n' Comment.Single
+'# strings'   Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 '#{'          Literal.String.Interpol
 'wow'         Name.Other
 '}'           Literal.String.Interpol
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'w'           Literal.String
 '}'           Literal.String.Interpol
 'w'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 '#'           Literal.String
 'wow'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'wow'         Literal.String
 '#'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'w'           Literal.String
 '#'           Literal.String
 'ow'          Literal.String
 '"'           Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 "'"           Literal.String
 '#'           Literal.String
 '{wow}'       Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
 'w'           Literal.String
 '#'           Literal.String
 '{wow}w'      Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
 '#'           Literal.String
 'wow'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
 'wow'         Literal.String
 '#'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
 'w'           Literal.String
 '#'           Literal.String
 'ow'          Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
index 26be4df2b920c09bb1c9af0f1257a1bd49150587..d650f63b1e5c2b15aced4ad18db5486a1d267a9e 100644 (file)
-'  '          Text
-'# Underscore.coffee\n' Comment.Single
+'  '          Text.Whitespace
+'# Underscore.coffee' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# (c) 2010 Jeremy Ashkenas, DocumentCloud Inc.\n' Comment.Single
+'  '          Text.Whitespace
+'# (c) 2010 Jeremy Ashkenas, DocumentCloud Inc.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# Underscore is freely distributable under the terms of the MIT license.\n' Comment.Single
+'  '          Text.Whitespace
+'# Underscore is freely distributable under the terms of the MIT license.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# Portions of Underscore are inspired by or borrowed from Prototype.js,\n' Comment.Single
+'  '          Text.Whitespace
+'# Portions of Underscore are inspired by or borrowed from Prototype.js,' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# Oliver Steele's Functional, and John Resig's Micro-Templating.\n" Comment.Single
+'  '          Text.Whitespace
+"# Oliver Steele's Functional, and John Resig's Micro-Templating." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# For all details and documentation:\n' Comment.Single
+'  '          Text.Whitespace
+'# For all details and documentation:' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# http://documentcloud.github.com/underscore/\n' Comment.Single
+'  '          Text.Whitespace
+'# http://documentcloud.github.com/underscore/' Comment.Single
+'\n'          Text.Whitespace
 
-'\n\n  '      Text
-'# ------------------------- Baseline setup ---------------------------------\n' Comment.Single
+'\n\n  '      Text.Whitespace
+'# ------------------------- Baseline setup ---------------------------------' Comment.Single
+'\n'          Text.Whitespace
 
-'\n  '        Text
-'# Establish the root object, "window" in the browser, or "global" on the server.\n' Comment.Single
+'\n  '        Text.Whitespace
+'# Establish the root object, "window" in the browser, or "global" on the server.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'root: '      Name.Variable
+'  '          Text.Whitespace
+'root'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'this'        Keyword
-'\n\n\n  '    Text
-'# Save the previous value of the "_" variable.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Save the previous value of the "_" variable.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'previousUnderscore: ' Name.Variable
+'  '          Text.Whitespace
+'previousUnderscore' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'root'        Name.Other
 '.'           Punctuation
 '_'           Name.Other
-'\n\n\n  '    Text
-'# If Underscore is called as a function, it returns a wrapped object that\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# If Underscore is called as a function, it returns a wrapped object that' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# can be used OO-style. This wrapper holds altered versions of all the\n' Comment.Single
+'  '          Text.Whitespace
+'# can be used OO-style. This wrapper holds altered versions of all the' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# underscore functions. Wrapped objects may be chained.\n' Comment.Single
+'  '          Text.Whitespace
+'# underscore functions. Wrapped objects may be chained.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'wrapper: '   Name.Variable
+'  '          Text.Whitespace
+'wrapper'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj) ->'    Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
-'_wrapped: '  Name.Variable
+'_wrapped'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'obj'         Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'this'        Keyword
-'\n\n\n  '    Text
-'# Establish the object that gets thrown to break out of a loop iteration.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Establish the object that gets thrown to break out of a loop iteration.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'breaker: '   Name.Variable
+'  '          Text.Whitespace
+'breaker'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'typeof'      Keyword
 '('           Punctuation
 'StopIteration' Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'undefined'   Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '__break__'   Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'StopIteration' Name.Other
-'\n\n\n  '    Text
-'# Create a safe reference to the Underscore object forreference below.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Create a safe reference to the Underscore object forreference below.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_: '         Name.Variable
-'root._: '    Name.Variable
+'  '          Text.Whitespace
+'_'           Name.Variable
+':'           Operator
+' '           Text.Whitespace
+'root._'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'wrapper'     Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Export the Underscore object for CommonJS.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Export the Underscore object for CommonJS.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'typeof'      Keyword
 '('           Punctuation
 'exports'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'undefined'   Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
-'exports._: ' Name.Variable
+' '           Text.Whitespace
+'exports._'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
-'\n\n\n  '    Text
-'# Create quick reference variables for speed access to core prototypes.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Create quick reference variables for speed access to core prototypes.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'slice: '     Name.Variable
-'               ' Text
+'  '          Text.Whitespace
+'slice'       Name.Variable
+':'           Operator
+'                ' Text.Whitespace
 'Array'       Name.Builtin
 ':'           Operator
 ':'           Operator
 'slice'       Name.Other
-'\n  '        Text
-'unshift: '   Name.Variable
-'             ' Text
+'\n  '        Text.Whitespace
+'unshift'     Name.Variable
+':'           Operator
+'              ' Text.Whitespace
 'Array'       Name.Builtin
 ':'           Operator
 ':'           Operator
 'unshift'     Name.Other
-'\n  '        Text
-'toString: '  Name.Variable
-'            ' Text
+'\n  '        Text.Whitespace
+'toString'    Name.Variable
+':'           Operator
+'             ' Text.Whitespace
 'Object'      Name.Builtin
 ':'           Operator
 ':'           Operator
 'toString'    Name.Other
-'\n  '        Text
-'hasOwnProperty: ' Name.Variable
-'      '      Text
+'\n  '        Text.Whitespace
+'hasOwnProperty' Name.Variable
+':'           Operator
+'       '     Text.Whitespace
 'Object'      Name.Builtin
 ':'           Operator
 ':'           Operator
 'hasOwnProperty' Name.Other
-'\n  '        Text
-'propertyIsEnumerable: ' Name.Variable
+'\n  '        Text.Whitespace
+'propertyIsEnumerable' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'Object'      Name.Builtin
 ':'           Operator
 ':'           Operator
 'propertyIsEnumerable' Name.Other
-'\n\n\n  '    Text
-'# Current version.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Current version.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.VERSION: ' Name.Variable
+'  '          Text.Whitespace
+'_.VERSION'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 "'"           Literal.String
 '0.5.7'       Literal.String
 "'"           Literal.String
-'\n\n\n  '    Text
-'# ------------------------ Collection Functions: ---------------------------\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# ------------------------ Collection Functions: ---------------------------' Comment.Single
+'\n'          Text.Whitespace
 
-'\n  '        Text
-'# The cornerstone, an each implementation.\n' Comment.Single
+'\n  '        Text.Whitespace
+'# The cornerstone, an each implementation.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# Handles objects implementing forEach, arrays, and raw objects.\n' Comment.Single
+'  '          Text.Whitespace
+'# Handles objects implementing forEach, arrays, and raw objects.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.each: '    Name.Variable
+'  '          Text.Whitespace
+'_.each'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
-'index: '     Name.Variable
+'\n    '      Text.Whitespace
+'index'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n    '      Text
+'\n    '      Text.Whitespace
 'try'         Keyword
-'\n      '    Text
+'\n      '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'forEach'     Name.Other
 '('           Punctuation
 'iterator'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'context'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'forEach'     Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isArray'     Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isArguments' Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '['           Punctuation
 'i'           Name.Other
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '0'           Literal.Number.Integer
 '.'           Punctuation
 '.'           Punctuation
 'length'      Name.Other
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'isnt'        Operator
-' '           Text
+' '           Text.Whitespace
 'breaker'     Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'obj'         Name.Other
-'\n\n\n  '    Text
-'# Return the results of applying the iterator to each element. Use JavaScript\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return the results of applying the iterator to each element. Use JavaScript' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# 1.6's version of map, if possible.\n" Comment.Single
+'  '          Text.Whitespace
+"# 1.6's version of map, if possible." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.map: '     Name.Variable
+'  '          Text.Whitespace
+'_.map'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'map'         Name.Other
 '('           Punctuation
 'iterator'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'context'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isFunction'  Name.Other
 'map'         Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
-'results: '   Name.Variable
+'\n    '      Text.Whitespace
+'results'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 'results'     Name.Other
 '.'           Punctuation
 'push'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'results'     Name.Other
-'\n\n\n  '    Text
-'# Reduce builds up a single result from a list of values. Also known as\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Reduce builds up a single result from a list of values. Also known as' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# inject, or foldl. Uses JavaScript 1.8's version of reduce, if possible.\n" Comment.Single
+'  '          Text.Whitespace
+"# inject, or foldl. Uses JavaScript 1.8's version of reduce, if possible." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.reduce: '  Name.Variable
+'  '          Text.Whitespace
+'_.reduce'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, memo, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'reduce'      Name.Other
 '('           Punctuation
 'iterator'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'context'     Name.Other
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'memo'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isFunction'  Name.Other
 'reduce'      Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
-'memo: '      Name.Variable
+'\n      '    Text.Whitespace
+'memo'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'memo'        Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'memo'        Name.Other
-'\n\n\n  '    Text
-'# The right-associative version of reduce, also known as foldr. Uses\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# The right-associative version of reduce, also known as foldr. Uses' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# JavaScript 1.8's version of reduceRight, if available.\n" Comment.Single
+'  '          Text.Whitespace
+"# JavaScript 1.8's version of reduceRight, if available." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.reduceRight: ' Name.Variable
+'  '          Text.Whitespace
+'_.reduceRight' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, memo, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'reduceRight' Name.Other
 '('           Punctuation
 'iterator'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'context'     Name.Other
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'memo'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isFunction'  Name.Other
 'reduceRight' Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'clone'       Name.Other
 '('           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index) ->' Name.Function
-'\n      '    Text
-'memo: '      Name.Variable
+'\n      '    Text.Whitespace
+'memo'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'memo'        Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'memo'        Name.Other
-'\n\n\n  '    Text
-'# Return the first value which passes a truth test.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return the first value which passes a truth test.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.detect: '  Name.Variable
+'  '          Text.Whitespace
+'_.detect'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
-'result: '    Name.Variable
+'\n    '      Text.Whitespace
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'null'        Keyword.Constant
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
-'\n        '  Text
-'result: '    Name.Variable
+'\n        '  Text.Whitespace
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'value'       Name.Other
-'\n        '  Text
+'\n        '  Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'breakLoop'   Name.Other
 '('           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'result'      Name.Other
-'\n\n\n  '    Text
-"# Return all the elements that pass a truth test. Use JavaScript 1.6's\n" Comment.Single
+'\n\n\n  '    Text.Whitespace
+"# Return all the elements that pass a truth test. Use JavaScript 1.6's" Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# filter(), if it exists.\n' Comment.Single
+'  '          Text.Whitespace
+'# filter(), if it exists.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.select: '  Name.Variable
+'  '          Text.Whitespace
+'_.select'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isFunction'  Name.Other
 '.'           Punctuation
 'filter'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'filter'      Name.Other
 '('           Punctuation
 'iterator'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'context'     Name.Other
 ')'           Punctuation
-'\n    '      Text
-'results: '   Name.Variable
+'\n    '      Text.Whitespace
+'results'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 'results'     Name.Other
 '.'           Punctuation
 'push'        Name.Other
 '('           Punctuation
 'value'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'results'     Name.Other
-'\n\n\n  '    Text
-'# Return all the elements for which a truth test fails.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return all the elements for which a truth test fails.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.reject: '  Name.Variable
+'  '          Text.Whitespace
+'_.reject'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
-'results: '   Name.Variable
+'\n    '      Text.Whitespace
+'results'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 'results'     Name.Other
 '.'           Punctuation
 'push'        Name.Other
 '('           Punctuation
 'value'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'results'     Name.Other
-'\n\n\n  '    Text
-'# Determine whether all of the elements match a truth test. Delegate to\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Determine whether all of the elements match a truth test. Delegate to' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# JavaScript 1.6's every(), if it is present.\n" Comment.Single
+'  '          Text.Whitespace
+"# JavaScript 1.6's every(), if it is present." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.all: '     Name.Variable
+'  '          Text.Whitespace
+'_.all'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'iterator'    Name.Other
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'identity'    Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'every'       Name.Other
 '('           Punctuation
 'iterator'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'context'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isFunction'  Name.Other
 '.'           Punctuation
 'every'       Name.Other
 ')'           Punctuation
-'\n    '      Text
-'result: '    Name.Variable
+'\n    '      Text.Whitespace
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'breakLoop'   Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unless'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'result: '    Name.Variable
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'result'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'result'      Name.Other
-'\n\n\n  '    Text
-'# Determine if at least one element in the object matches a truth test. Use\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Determine if at least one element in the object matches a truth test. Use' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# JavaScript 1.6's some(), if it exists.\n" Comment.Single
+'  '          Text.Whitespace
+"# JavaScript 1.6's some(), if it exists." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.any: '     Name.Variable
+'  '          Text.Whitespace
+'_.any'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'iterator'    Name.Other
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'identity'    Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'some'        Name.Other
 '('           Punctuation
 'iterator'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'context'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isFunction'  Name.Other
 '.'           Punctuation
 'some'        Name.Other
 ')'           Punctuation
-'\n    '      Text
-'result: '    Name.Variable
+'\n    '      Text.Whitespace
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'false'       Keyword.Constant
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'breakLoop'   Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'result: '    Name.Variable
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'result'      Name.Other
-'\n\n\n  '    Text
-'# Determine if a given value is included in the array or object,\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Determine if a given value is included in the array or object,' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# based on '==='.\n" Comment.Single
+'  '          Text.Whitespace
+"# based on '==='." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.include: ' Name.Variable
+'  '          Text.Whitespace
+'_.include'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, target) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'indexOf'     Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'target'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'isnt'        Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isArray'     Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'target'      Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'false'       Keyword.Constant
-'\n\n\n  '    Text
-'# Invoke a method with arguments on every item in a collection.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Invoke a method with arguments on every item in a collection.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.invoke: '  Name.Variable
+'  '          Text.Whitespace
+'_.invoke'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, method) ->' Name.Function
-'\n    '      Text
-'args: '      Name.Variable
+'\n    '      Text.Whitespace
+'args'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'rest'        Name.Other
 '('           Punctuation
 'arguments'   Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'method'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
 '['           Punctuation
 'method'      Name.Other
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
 ')'           Punctuation
 '.'           Punctuation
 '('           Punctuation
 'val'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-'\n\n\n  '    Text
-'# Convenience version of a common use case of map: fetching a property.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Convenience version of a common use case of map: fetching a property.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.pluck: '   Name.Variable
+'  '          Text.Whitespace
+'_.pluck'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, key) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'map'         Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '(val) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
 '['           Punctuation
 'key'         Name.Other
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Return the maximum item or (item-based computation).\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return the maximum item or (item-based computation).' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.max: '     Name.Variable
+'  '          Text.Whitespace
+'_.max'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Math'        Name.Builtin
 '.'           Punctuation
 'max'         Name.Other
 '('           Punctuation
 'Math'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isArray'     Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n    '      Text
-'result: '    Name.Variable
+'\n    '      Text.Whitespace
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '{'           Punctuation
-'computed: '  Name.Variable
+'computed'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '-'           Operator
 'Infinity'    Keyword.Constant
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
-'computed: '  Name.Variable
+'\n      '    Text.Whitespace
+'computed'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'computed'    Name.Other
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 'result'      Name.Other
 '.'           Punctuation
 'computed'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'result: '    Name.Variable
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '{'           Punctuation
-'value: '     Name.Variable
+'value'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
-'computed: '  Name.Variable
+' '           Text.Whitespace
+'computed'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'computed'    Name.Other
 '}'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'result'      Name.Other
 '.'           Punctuation
 'value'       Name.Other
-'\n\n\n  '    Text
-'# Return the minimum element (or element-based computation).\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return the minimum element (or element-based computation).' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.min: '     Name.Variable
+'  '          Text.Whitespace
+'_.min'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Math'        Name.Builtin
 '.'           Punctuation
 'min'         Name.Other
 '('           Punctuation
 'Math'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isArray'     Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n    '      Text
-'result: '    Name.Variable
+'\n    '      Text.Whitespace
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '{'           Punctuation
-'computed: '  Name.Variable
+'computed'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'Infinity'    Keyword.Constant
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
-'computed: '  Name.Variable
+'\n      '    Text.Whitespace
+'computed'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'computed'    Name.Other
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'result'      Name.Other
 '.'           Punctuation
 'computed'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'result: '    Name.Variable
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '{'           Punctuation
-'value: '     Name.Variable
+'value'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
-'computed: '  Name.Variable
+' '           Text.Whitespace
+'computed'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'computed'    Name.Other
 '}'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'result'      Name.Other
 '.'           Punctuation
 'value'       Name.Other
-'\n\n\n  '    Text
-"# Sort the object's values by a criteria produced by an iterator.\n" Comment.Single
+'\n\n\n  '    Text.Whitespace
+"# Sort the object's values by a criteria produced by an iterator." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.sortBy: '  Name.Variable
+'  '          Text.Whitespace
+'_.sortBy'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, iterator, context) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'pluck'       Name.Other
 '_'           Name.Other
 '.'           Punctuation
 'map'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(value, index, list) ->' Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 '{'           Punctuation
-'value: '     Name.Variable
+'value'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
-'criteria: '  Name.Variable
+' '           Text.Whitespace
+'criteria'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'iterator'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'context'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
 ')'           Punctuation
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ')'           Punctuation
 '.'           Punctuation
 'sort'        Name.Other
 '('           Punctuation
 '(left, right) ->' Name.Function
-'\n      '    Text
-'a: '         Name.Variable
+'\n      '    Text.Whitespace
+'a'           Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'left'        Name.Other
 '.'           Punctuation
 'criteria'    Name.Other
 ';'           Punctuation
-' '           Text
-'b: '         Name.Variable
+' '           Text.Whitespace
+'b'           Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'right'       Name.Other
 '.'           Punctuation
 'criteria'    Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n    '      Text
+'\n    '      Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'value'       Literal.String
 "'"           Literal.String
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Use a comparator function to figure out at what index an object should\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Use a comparator function to figure out at what index an object should' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# be inserted so as to maintain order. Uses binary search.\n' Comment.Single
+'  '          Text.Whitespace
+'# be inserted so as to maintain order. Uses binary search.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.sortedIndex: ' Name.Variable
+'  '          Text.Whitespace
+'_.sortedIndex' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array, obj, iterator) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'iterator'    Name.Other
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'identity'    Name.Other
-'\n    '      Text
-'low: '       Name.Variable
+'\n    '      Text.Whitespace
+'low'         Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
-'high: '      Name.Variable
+' '           Text.Whitespace
+'high'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'array'       Name.Other
 '.'           Punctuation
 'length'      Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Other
-'\n      '    Text
-'mid: '       Name.Variable
+'\n      '    Text.Whitespace
+'mid'         Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '('           Punctuation
 'array'       Name.Other
 'mid'         Name.Other
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'iterator'    Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
-'low: '       Name.Variable
+' '           Text.Whitespace
+'low'         Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'mid'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
-'high: '      Name.Variable
+' '           Text.Whitespace
+'high'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'mid'         Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'low'         Name.Other
-'\n\n\n  '    Text
-'# Convert anything iterable into a real, live array.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Convert anything iterable into a real, live array.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.toArray: ' Name.Variable
+'  '          Text.Whitespace
+'_.toArray'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(iterable) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-'                   ' Text
+'                   ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'iterable'    Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'iterable'    Name.Other
 '.'           Punctuation
 'toArray'     Name.Other
 '('           Punctuation
 ')'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iterable'    Name.Other
 '.'           Punctuation
 'toArray'     Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'iterable'    Name.Other
-'             ' Text
+'             ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '_'           Name.Other
 '.'           Punctuation
 'iterable'    Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'slice'       Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'iterable'    Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '_'           Name.Other
 '.'           Punctuation
 'iterable'    Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'values'      Name.Other
 '('           Punctuation
 'iterable'    Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Return the number of elements in an object.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return the number of elements in an object.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.size: '    Name.Variable
+'  '          Text.Whitespace
+'_.size'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'toArray'     Name.Other
 ')'           Punctuation
 '.'           Punctuation
 'length'      Name.Other
-'\n\n\n  '    Text
-'# -------------------------- Array Functions: ------------------------------\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# -------------------------- Array Functions: ------------------------------' Comment.Single
+'\n'          Text.Whitespace
 
-'\n  '        Text
-'# Get the first element of an array. Passing "n" will return the first N\n' Comment.Single
+'\n  '        Text.Whitespace
+'# Get the first element of an array. Passing "n" will return the first N' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# values in the array. Aliased as "head". The "guard" check allows it to work\n' Comment.Single
+'  '          Text.Whitespace
+'# values in the array. Aliased as "head". The "guard" check allows it to work' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# with _.map.\n' Comment.Single
+'  '          Text.Whitespace
+'# with _.map.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.first: '   Name.Variable
+'  '          Text.Whitespace
+'_.first'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array, n, guard) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 'guard'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'slice'       Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'array'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-'\n\n\n  '    Text
-'# Returns everything but the first entry of the array. Aliased as "tail".\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Returns everything but the first entry of the array. Aliased as "tail".' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# Especially useful on the arguments object. Passing an "index" will return\n' Comment.Single
+'  '          Text.Whitespace
+'# Especially useful on the arguments object. Passing an "index" will return' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# the rest of the values in the array from that index onward. The "guard"\n' Comment.Single
+'  '          Text.Whitespace
+'# the rest of the values in the array from that index onward. The "guard"' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# check allows it to work with _.map.\n' Comment.Single
+'  '          Text.Whitespace
+'# check allows it to work with _.map.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.rest: '    Name.Variable
+'  '          Text.Whitespace
+'_.rest'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array, index, guard) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'slice'       Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'array'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isUndefined' Name.Other
 '('           Punctuation
 'index'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 'guard'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Get the last element of an array.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Get the last element of an array.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.last: '    Name.Variable
+'  '          Text.Whitespace
+'_.last'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array) ->'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '['           Punctuation
 'array'       Name.Other
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Punctuation
-'\n\n\n  '    Text
-'# Trim out all falsy values from an array.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Trim out all falsy values from an array.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.compact: ' Name.Variable
+'  '          Text.Whitespace
+'_.compact'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array) ->'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '['           Punctuation
 'i'           Name.Other
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '0'           Literal.Number.Integer
 '.'           Punctuation
 '.'           Punctuation
 'length'      Name.Other
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'when'        Keyword
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '['           Punctuation
 'i'           Name.Other
 ']'           Punctuation
-'\n\n\n  '    Text
-'# Return a completely flattened version of an array.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return a completely flattened version of an array.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.flatten: ' Name.Variable
+'  '          Text.Whitespace
+'_.flatten'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array) ->'  Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'reduce'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(memo, value) ->' Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'memo'        Name.Other
 '.'           Punctuation
 'concat'      Name.Other
 'value'       Name.Other
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isArray'     Name.Other
 '('           Punctuation
 'value'       Name.Other
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'memo'        Name.Other
 '.'           Punctuation
 'push'        Name.Other
 '('           Punctuation
 'value'       Name.Other
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'memo'        Name.Other
-'\n\n\n  '    Text
-'# Return a version of the array that does not contain the specified value(s).\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return a version of the array that does not contain the specified value(s).' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.without: ' Name.Variable
+'  '          Text.Whitespace
+'_.without'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array) ->'  Name.Function
-'\n    '      Text
-'values: '    Name.Variable
+'\n    '      Text.Whitespace
+'values'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'rest'        Name.Other
 '('           Punctuation
 'arguments'   Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'val'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'toArray'     Name.Other
 '('           Punctuation
 'array'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'when'        Keyword
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'include'     Name.Other
 '('           Punctuation
 'values'      Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Produce a duplicate-free version of the array. If the array has already\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Produce a duplicate-free version of the array. If the array has already' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# been sorted, you have the option of using a faster algorithm.\n' Comment.Single
+'  '          Text.Whitespace
+'# been sorted, you have the option of using a faster algorithm.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.uniq: '    Name.Variable
+'  '          Text.Whitespace
+'_.uniq'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array, isSorted) ->' Name.Function
-'\n    '      Text
-'memo: '      Name.Variable
+'\n    '      Text.Whitespace
+'memo'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'el'          Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'toArray'     Name.Other
 '('           Punctuation
 'array'       Name.Other
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'memo'        Name.Other
 '.'           Punctuation
 'push'        Name.Other
 '('           Punctuation
 'el'          Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'isSorted'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'last'        Name.Other
 '('           Punctuation
 'memo'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'isnt'        Operator
-' '           Text
+' '           Text.Whitespace
 'el'          Name.Other
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'include'     Name.Other
 '('           Punctuation
 'memo'        Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'el'          Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'memo'        Name.Other
-'\n\n\n  '    Text
-'# Produce an array that contains every item shared between all the\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Produce an array that contains every item shared between all the' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# passed-in arrays.\n' Comment.Single
+'  '          Text.Whitespace
+'# passed-in arrays.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.intersect: ' Name.Variable
+'  '          Text.Whitespace
+'_.intersect' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array) ->'  Name.Function
-'\n    '      Text
-'rest: '      Name.Variable
+'\n    '      Text.Whitespace
+'rest'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'rest'        Name.Other
 '('           Punctuation
 'arguments'   Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'select'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'uniq'        Name.Other
 'array'       Name.Other
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(item) ->'   Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'all'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'rest'        Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(other) ->'  Name.Function
-'\n        '  Text
+'\n        '  Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'indexOf'     Name.Other
 '('           Punctuation
 'other'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\n\n  '    Text
-'# Zip together multiple lists into a single array -- elements that share\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Zip together multiple lists into a single array -- elements that share' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# an index go together.\n' Comment.Single
+'  '          Text.Whitespace
+'# an index go together.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.zip: '     Name.Variable
+'  '          Text.Whitespace
+'_.zip'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-'\n    '      Text
-'length: '    Name.Variable
-'    '        Text
+'\n    '      Text.Whitespace
+'length'      Name.Variable
+':'           Operator
+'     '       Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'max'         Name.Other
 '('           Punctuation
 'arguments'   Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'length'      Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
-'results: '   Name.Variable
-'   '         Text
+'\n    '      Text.Whitespace
+'results'     Name.Variable
+':'           Operator
+'    '        Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Array'       Name.Builtin
 '('           Punctuation
 'length'      Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '0'           Literal.Number.Integer
 '.'           Punctuation
 '.'           Punctuation
 'length'      Name.Other
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'results'     Name.Other
 '['           Punctuation
 'i'           Name.Other
 ']'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'pluck'       Name.Other
 '('           Punctuation
 'arguments'   Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Builtin
 '('           Punctuation
 'i'           Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'results'     Name.Other
-'\n\n\n  '    Text
-"# If the browser doesn't supply us with indexOf (I'm looking at you, MSIE),\n" Comment.Single
+'\n\n\n  '    Text.Whitespace
+"# If the browser doesn't supply us with indexOf (I'm looking at you, MSIE)," Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# we need this function. Return the position of the first occurence of an\n' Comment.Single
+'  '          Text.Whitespace
+'# we need this function. Return the position of the first occurence of an' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# item in an array, or -1 if the item is not included in the array.\n' Comment.Single
+'  '          Text.Whitespace
+'# item in an array, or -1 if the item is not included in the array.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.indexOf: ' Name.Variable
+'  '          Text.Whitespace
+'_.indexOf'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array, item) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '.'           Punctuation
 'indexOf'     Name.Other
 '('           Punctuation
 'item'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '.'           Punctuation
 'indexOf'     Name.Other
-'\n    '      Text
-'i: '         Name.Variable
+'\n    '      Text.Whitespace
+'i'           Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
-'l: '         Name.Variable
+' '           Text.Whitespace
+'l'           Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'array'       Name.Other
 '.'           Punctuation
 'length'      Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '['           Punctuation
 'i'           Name.Other
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
 '++'          Operator
-'\n    '      Text
+'\n    '      Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-'\n\n\n  '    Text
-"# Provide JavaScript 1.6's lastIndexOf, delegating to the native function,\n" Comment.Single
+'\n\n\n  '    Text.Whitespace
+"# Provide JavaScript 1.6's lastIndexOf, delegating to the native function," Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# if possible.\n' Comment.Single
+'  '          Text.Whitespace
+'# if possible.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.lastIndexOf: ' Name.Variable
+'  '          Text.Whitespace
+'_.lastIndexOf' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(array, item) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '.'           Punctuation
 'lastIndexOf' Name.Other
 '('           Punctuation
 'item'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '.'           Punctuation
 'lastIndexOf' Name.Other
-'\n    '      Text
-'i: '         Name.Variable
+'\n    '      Text.Whitespace
+'i'           Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'array'       Name.Other
 '.'           Punctuation
 'length'      Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
 '['           Punctuation
 'i'           Name.Other
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
 '-'           Operator
 '-'           Operator
-'\n    '      Text
+'\n    '      Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-'\n\n\n  '    Text
-'# Generate an integer Array containing an arithmetic progression. A port of\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Generate an integer Array containing an arithmetic progression. A port of' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# the native Python range() function. See:\n' Comment.Single
+'  '          Text.Whitespace
+'# the native Python range() function. See:' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# http://docs.python.org/library/functions.html#range\n' Comment.Single
+'  '          Text.Whitespace
+'# http://docs.python.org/library/functions.html#range' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.range: '   Name.Variable
+'  '          Text.Whitespace
+'_.range'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(start, stop, step) ->' Name.Function
-'\n    '      Text
-'a: '         Name.Variable
-'       '     Text
+'\n    '      Text.Whitespace
+'a'           Name.Variable
+':'           Operator
+'        '    Text.Whitespace
 'arguments'   Name.Other
-'\n    '      Text
-'solo: '      Name.Variable
-'    '        Text
+'\n    '      Text.Whitespace
+'solo'        Name.Variable
+':'           Operator
+'     '       Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '<='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n    '      Text
-'i: '         Name.Variable
-'start: '     Name.Variable
+'\n    '      Text.Whitespace
+'i'           Name.Variable
+':'           Operator
+' '           Text.Whitespace
+'start'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'solo'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n    '      Text
-'stop: '      Name.Variable
-'    '        Text
+'\n    '      Text.Whitespace
+'stop'        Name.Variable
+':'           Operator
+'     '       Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'solo'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n    '      Text
-'step: '      Name.Variable
-'    '        Text
+'\n    '      Text.Whitespace
+'step'        Name.Variable
+':'           Operator
+'     '       Text.Whitespace
 'a'           Name.Other
 '['           Punctuation
 '2'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n    '      Text
-'len: '       Name.Variable
-'     '       Text
+'\n    '      Text.Whitespace
+'len'         Name.Variable
+':'           Operator
+'      '      Text.Whitespace
 'Math'        Name.Builtin
 '.'           Punctuation
 'ceil'        Name.Other
 '('           Punctuation
 '('           Punctuation
 'stop'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'step'        Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'len'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '<='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n    '      Text
-'range: '     Name.Variable
-'   '         Text
+'\n    '      Text.Whitespace
+'range'       Name.Variable
+':'           Operator
+'    '        Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Array'       Name.Builtin
 '('           Punctuation
 'len'         Name.Other
 ')'           Punctuation
-'\n    '      Text
-'idx: '       Name.Variable
-'     '       Text
+'\n    '      Text.Whitespace
+'idx'         Name.Variable
+':'           Operator
+'      '      Text.Whitespace
 '0'           Literal.Number.Integer
-'\n    '      Text
+'\n    '      Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n      '    Text
+'\n      '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'range'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'step'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'stop'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'stop'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n      '    Text
+'\n      '    Text.Whitespace
 'range'       Name.Other
 '['           Punctuation
 'idx'         Name.Other
 ']'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'idx'         Name.Other
 '++'          Operator
-'\n      '    Text
+'\n      '    Text.Whitespace
 'i'           Name.Other
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 'step'        Name.Other
-'\n\n\n  '    Text
-'# ----------------------- Function Functions: -----------------------------\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# ----------------------- Function Functions: -----------------------------' Comment.Single
+'\n'          Text.Whitespace
 
-'\n  '        Text
-"# Create a function bound to a given object (assigning 'this', and arguments,\n" Comment.Single
+'\n  '        Text.Whitespace
+"# Create a function bound to a given object (assigning 'this', and arguments," Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# optionally). Binding with arguments is also known as 'curry'.\n" Comment.Single
+'  '          Text.Whitespace
+"# optionally). Binding with arguments is also known as 'curry'." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.bind: '    Name.Variable
+'  '          Text.Whitespace
+'_.bind'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(func, obj) ->' Name.Function
-'\n    '      Text
-'args: '      Name.Variable
+'\n    '      Text.Whitespace
+'args'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'rest'        Name.Other
 '(arguments, 2)\n    ->' Name.Function
-' '           Text
+' '           Text.Whitespace
 'func'        Name.Other
 '.'           Punctuation
 'apply'       Name.Other
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 'root'        Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Other
 '.'           Punctuation
 'concat'      Name.Other
 'arguments'   Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n  '    Text
-"# Bind all of an object's methods to that object. Useful for ensuring that\n" Comment.Single
+'\n\n\n  '    Text.Whitespace
+"# Bind all of an object's methods to that object. Useful for ensuring that" Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# all callbacks defined on an object belong to it.\n' Comment.Single
+'  '          Text.Whitespace
+'# all callbacks defined on an object belong to it.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.bindAll: ' Name.Variable
+'  '          Text.Whitespace
+'_.bindAll'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj) ->'    Name.Function
-'\n    '      Text
-'funcs: '     Name.Variable
+'\n    '      Text.Whitespace
+'funcs'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'arguments'   Name.Other
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'rest'        Name.Other
 '('           Punctuation
 'arguments'   Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'functions'   Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
 '('           Punctuation
 'funcs'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(f) ->'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '['           Punctuation
 'f'           Name.Other
 ']'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'bind'        Name.Other
 'f'           Name.Other
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'obj'         Name.Other
-'\n\n\n  '    Text
-'# Delays a function for the given number of milliseconds, and then calls\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Delays a function for the given number of milliseconds, and then calls' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# it with the arguments supplied.\n' Comment.Single
+'  '          Text.Whitespace
+'# it with the arguments supplied.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.delay: '   Name.Variable
+'  '          Text.Whitespace
+'_.delay'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(func, wait) ->' Name.Function
-'\n    '      Text
-'args: '      Name.Variable
+'\n    '      Text.Whitespace
+'args'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'rest'        Name.Other
 '('           Punctuation
 'arguments'   Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'setTimeout'  Name.Other
 '('           Punctuation
 '('           Punctuation
 '->'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'func'        Name.Other
 '.'           Punctuation
 'apply'       Name.Other
 '('           Punctuation
 'func'        Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Other
 ')'           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'wait'        Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Defers a function, scheduling it to run after the current call stack has\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Defers a function, scheduling it to run after the current call stack has' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# cleared.\n' Comment.Single
+'  '          Text.Whitespace
+'# cleared.'  Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.defer: '   Name.Variable
+'  '          Text.Whitespace
+'_.defer'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(func) ->'   Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'delay'       Name.Other
 '('           Punctuation
 '_'           Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'func'        Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Punctuation
 '.'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Returns the first function passed as an argument to the second,\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Returns the first function passed as an argument to the second,' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# allowing you to adjust arguments, run code before and after, and\n' Comment.Single
+'  '          Text.Whitespace
+'# allowing you to adjust arguments, run code before and after, and' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# conditionally execute the original function.\n' Comment.Single
+'  '          Text.Whitespace
+'# conditionally execute the original function.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.wrap: '    Name.Variable
+'  '          Text.Whitespace
+'_.wrap'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(func, wrapper) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '->'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'wrapper'     Name.Other
 '.'           Punctuation
 'apply'       Name.Other
 '('           Punctuation
 'wrapper'     Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'func'        Name.Other
 ']'           Punctuation
 'arguments'   Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Returns a function that is the composition of a list of functions, each\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Returns a function that is the composition of a list of functions, each' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# consuming the return value of the function that follows.\n' Comment.Single
+'  '          Text.Whitespace
+'# consuming the return value of the function that follows.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.compose: ' Name.Variable
+'  '          Text.Whitespace
+'_.compose'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-'\n    '      Text
-'funcs: '     Name.Variable
+'\n    '      Text.Whitespace
+'funcs'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'arguments'   Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 '->'          Name.Function
-'\n      '    Text
-'args: '      Name.Variable
+'\n      '    Text.Whitespace
+'args'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'arguments'   Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '('           Punctuation
 'funcs'       Name.Other
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-'\n        '  Text
-'args: '      Name.Variable
+'\n        '  Text.Whitespace
+'args'        Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '['           Punctuation
 'funcs'       Name.Other
 '['           Punctuation
 '('           Punctuation
 'this'        Keyword
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Other
 ')'           Punctuation
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'args'        Name.Other
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-'\n\n\n  '    Text
-'# ------------------------- Object Functions: ----------------------------\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# ------------------------- Object Functions: ----------------------------' Comment.Single
+'\n'          Text.Whitespace
 
-'\n  '        Text
-"# Retrieve the names of an object's properties.\n" Comment.Single
+'\n  '        Text.Whitespace
+"# Retrieve the names of an object's properties." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.keys: '    Name.Variable
+'  '          Text.Whitespace
+'_.keys'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj) ->'    Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'range'       Name.Other
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'length'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isArray'     Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'key'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-'\n\n\n  '    Text
-"# Retrieve the values of an object's properties.\n" Comment.Single
+'\n\n\n  '    Text.Whitespace
+"# Retrieve the values of an object's properties." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.values: '  Name.Variable
+'  '          Text.Whitespace
+'_.values'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj) ->'    Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'map'         Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'identity'    Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Return a sorted list of the function names available in Underscore.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Return a sorted list of the function names available in Underscore.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.functions: ' Name.Variable
+'  '          Text.Whitespace
+'_.functions' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj) ->'    Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'select'      Name.Other
 'obj'         Name.Other
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(key) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isFunction'  Name.Other
 'sort'        Name.Other
 '('           Punctuation
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Extend a given object with all of the properties in a source object.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Extend a given object with all of the properties in a source object.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.extend: '  Name.Variable
+'  '          Text.Whitespace
+'_.extend'    Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(destination, source) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword
-' '           Text
+' '           Text.Whitespace
 'source'      Name.Other
-'\n      '    Text
+'\n      '    Text.Whitespace
 'destination' Name.Other
 '['           Punctuation
 'key'         Name.Other
 ']'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'destination' Name.Other
-'\n\n\n  '    Text
-'# Create a (shallow-cloned) duplicate of an object.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Create a (shallow-cloned) duplicate of an object.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.clone: '   Name.Variable
+'  '          Text.Whitespace
+'_.clone'     Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj) ->'    Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'slice'       Name.Other
 '('           Punctuation
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isArray'     Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'extend'      Name.Other
 '{'           Punctuation
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Invokes interceptor with the obj, and then returns obj.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Invokes interceptor with the obj, and then returns obj.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# The primary purpose of this method is to "tap into" a method chain, in order to perform operations on intermediate results within the chain.\n' Comment.Single
+'  '          Text.Whitespace
+'# The primary purpose of this method is to "tap into" a method chain, in order to perform operations on intermediate results within the chain.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.tap: '     Name.Variable
+'  '          Text.Whitespace
+'_.tap'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, interceptor) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'interceptor' Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'obj'         Name.Other
-'\n\n\n  '    Text
-'# Perform a deep comparison to check if two objects are equal.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Perform a deep comparison to check if two objects are equal.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isEqual: ' Name.Variable
+'  '          Text.Whitespace
+'_.isEqual'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(a, b) ->'   Name.Function
-'\n    '      Text
-'# Check object identity.\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Check object identity.' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
-'\n    '      Text
-'# Different types?\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Different types?' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
-'atype: '     Name.Variable
+'    '        Text.Whitespace
+'atype'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'typeof'      Keyword
 '('           Punctuation
 'a'           Name.Other
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'btype: '     Name.Variable
+' '           Text.Whitespace
+'btype'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'typeof'      Keyword
 '('           Punctuation
 'b'           Name.Other
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'atype'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'isnt'        Operator
-' '           Text
+' '           Text.Whitespace
 'btype'       Name.Other
-'\n    '      Text
-'# Basic equality test (watch out for coercions).\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Basic equality test (watch out for coercions).' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 '`'           Operator
-'\n    '      Text
-'# One is falsy and the other truthy.\n' Comment.Single
+'\n    '      Text.Whitespace
+'# One is falsy and the other truthy.' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'b'           Name.Other
 ')'           Punctuation
-'\n    '      Text
-'# One of them implements an isEqual()?\n' Comment.Single
+'\n    '      Text.Whitespace
+'# One of them implements an isEqual()?' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'isEqual'     Name.Other
 '('           Punctuation
 'b'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'isEqual'     Name.Other
-'\n    '      Text
-"# Check dates' integer values.\n" Comment.Single
+'\n    '      Text.Whitespace
+"# Check dates' integer values." Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'getTime'     Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 '.'           Punctuation
 'getTime'     Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isDate'      Name.Other
 '('           Punctuation
 'a'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isDate'      Name.Other
 '('           Punctuation
 'b'           Name.Other
 ')'           Punctuation
-'\n    '      Text
-'# Both are NaN?\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Both are NaN?' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isNaN'       Name.Builtin
 '('           Punctuation
 'a'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isNaN'       Name.Builtin
 '('           Punctuation
 'b'           Name.Other
 ')'           Punctuation
-'\n    '      Text
-'# Compare regular expressions.\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Compare regular expressions.' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isRegExp'    Name.Other
 '('           Punctuation
 'a'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isRegExp'    Name.Other
 '('           Punctuation
 'b'           Name.Other
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'source'      Name.Other
-'     '       Text
+'     '       Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 '.'           Punctuation
 'source'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-'\n             ' Text
+'\n             ' Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'global'      Name.Other
-'     '       Text
+'     '       Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 '.'           Punctuation
 'global'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-'\n             ' Text
+'\n             ' Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'ignoreCase'  Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 '.'           Punctuation
 'ignoreCase'  Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-'\n             ' Text
+'\n             ' Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'multiline'   Name.Other
-'  '          Text
+'  '          Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 '.'           Punctuation
 'multiline'   Name.Other
-'\n    '      Text
-"# If a is not an object by this point, we can't handle it.\n" Comment.Single
+'\n    '      Text.Whitespace
+"# If a is not an object by this point, we can't handle it." Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'atype'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'isnt'        Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'object'      Literal.String
 "'"           Literal.String
-'\n    '      Text
-'# Check for different array lengths before comparing contents.\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Check for different array lengths before comparing contents.' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Other
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'isnt'        Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 '.'           Punctuation
 'length'      Name.Other
 ')'           Punctuation
-'\n    '      Text
-'# Nothing else worked, deep compare the contents.\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Nothing else worked, deep compare the contents.' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
-'aKeys: '     Name.Variable
+'    '        Text.Whitespace
+'aKeys'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'keys'        Name.Other
 'a'           Name.Other
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'bKeys: '     Name.Variable
+' '           Text.Whitespace
+'bKeys'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'keys'        Name.Other
 '('           Punctuation
 'b'           Name.Other
 ')'           Punctuation
-'\n    '      Text
-'# Different object sizes?\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Different object sizes?' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'aKeys'       Name.Other
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'isnt'        Operator
-' '           Text
+' '           Text.Whitespace
 'bKeys'       Name.Other
 '.'           Punctuation
 'length'      Name.Other
-'\n    '      Text
-'# Recursive comparison of contents.\n' Comment.Single
+'\n    '      Text.Whitespace
+'# Recursive comparison of contents.' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
-'# for (var key in a) if (!_.isEqual(a[key], b[key])) return false;\n' Comment.Single
+'    '        Text.Whitespace
+'# for (var key in a) if (!_.isEqual(a[key], b[key])) return false;' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n\n\n  '    Text
-'# Is a given array or object empty?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is a given array or object empty?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isEmpty: ' Name.Variable
-'     '       Text
+'  '          Text.Whitespace
+'_.isEmpty'   Name.Variable
+':'           Operator
+'      '      Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'keys'        Name.Other
 ')'           Punctuation
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\n\n  '    Text
-'# Is a given value a DOM element?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is a given value a DOM element?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isElement: ' Name.Variable
-'   '         Text
+'  '          Text.Whitespace
+'_.isElement' Name.Variable
+':'           Operator
+'    '        Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'nodeType'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n\n\n  '    Text
-'# Is a given value an array?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is a given value an array?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isArray: ' Name.Variable
-'     '       Text
+'  '          Text.Whitespace
+'_.isArray'   Name.Variable
+':'           Operator
+'      '      Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '!'           Operator
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'concat'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'unshift'     Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Is a given variable an arguments object?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is a given variable an arguments object?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isArguments: ' Name.Variable
-' '           Text
+'  '          Text.Whitespace
+'_.isArguments' Name.Variable
+':'           Operator
+'  '          Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isNumber'    Name.Other
 '.'           Punctuation
 'length'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'concat'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'substr'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'apply'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'not'         Operator
-' '           Text
+' '           Text.Whitespace
 'propertyIsEnumerable' Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'length'      Literal.String
 "'"           Literal.String
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Is the given value a function?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is the given value a function?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isFunction: ' Name.Variable
-'  '          Text
+'  '          Text.Whitespace
+'_.isFunction' Name.Variable
+':'           Operator
+'   '         Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '!'           Operator
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'constructor' Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'call'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'apply'       Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Is the given value a string?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is the given value a string?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isString: ' Name.Variable
-'    '        Text
+'  '          Text.Whitespace
+'_.isString'  Name.Variable
+':'           Operator
+'     '       Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '!'           Operator
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'charCodeAt'  Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'substr'      Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Is a given value a number?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is a given value a number?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isNumber: ' Name.Variable
-'    '        Text
+'  '          Text.Whitespace
+'_.isNumber'  Name.Variable
+':'           Operator
+'     '       Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 'toString'    Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '[object Number]' Literal.String
 "'"           Literal.String
-'\n\n\n  '    Text
-'# Is a given value a Date?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is a given value a Date?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isDate: '  Name.Variable
-'      '      Text
+'  '          Text.Whitespace
+'_.isDate'    Name.Variable
+':'           Operator
+'       '     Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '!'           Operator
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'getTimezoneOffset' Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'setUTCFullYear' Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Is the given value a regular expression?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is the given value a regular expression?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isRegExp: ' Name.Variable
-'    '        Text
+'  '          Text.Whitespace
+'_.isRegExp'  Name.Variable
+':'           Operator
+'     '       Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '!'           Operator
 '('           Punctuation
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'exec'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Other
 '.'           Punctuation
 'ignoreCase'  Name.Other
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
 '.'           Punctuation
 'ignoreCase'  Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Is the given value NaN -- this one is interesting. NaN != NaN, and\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is the given value NaN -- this one is interesting. NaN != NaN, and' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# isNaN(undefined) == true, so we make sure it's a number first.\n" Comment.Single
+'  '          Text.Whitespace
+"# isNaN(undefined) == true, so we make sure it's a number first." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isNaN: '   Name.Variable
-'       '     Text
+'  '          Text.Whitespace
+'_.isNaN'     Name.Variable
+':'           Operator
+'        '    Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'isNumber'    Name.Other
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Builtin
 '.'           Punctuation
 'isNaN'       Name.Builtin
 '('           Punctuation
 'obj'         Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Is a given value equal to null?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is a given value equal to null?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isNull: '  Name.Variable
-'      '      Text
+'  '          Text.Whitespace
+'_.isNull'    Name.Variable
+':'           Operator
+'       '     Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
-'\n\n\n  '    Text
-'# Is a given variable undefined?\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Is a given variable undefined?' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.isUndefined: ' Name.Variable
-' '           Text
+'  '          Text.Whitespace
+'_.isUndefined' Name.Variable
+':'           Operator
+'  '          Text.Whitespace
 '(obj) ->'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'typeof'      Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'undefined'   Literal.String
 "'"           Literal.String
-'\n\n\n  '    Text
-'# -------------------------- Utility Functions: --------------------------\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# -------------------------- Utility Functions: --------------------------' Comment.Single
+'\n'          Text.Whitespace
 
-'\n  '        Text
-"# Run Underscore.js in noConflict mode, returning the '_' variable to its\n" Comment.Single
+'\n  '        Text.Whitespace
+"# Run Underscore.js in noConflict mode, returning the '_' variable to its" Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# previous owner. Returns a reference to the Underscore object.\n' Comment.Single
+'  '          Text.Whitespace
+'# previous owner. Returns a reference to the Underscore object.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.noConflict: ' Name.Variable
+'  '          Text.Whitespace
+'_.noConflict' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-'\n    '      Text
-'root._: '    Name.Variable
+'\n    '      Text.Whitespace
+'root._'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'previousUnderscore' Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'this'        Keyword
-'\n\n\n  '    Text
-'# Keep the identity function around for default iterators.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Keep the identity function around for default iterators.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.identity: ' Name.Variable
+'  '          Text.Whitespace
+'_.identity'  Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(value) ->'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Other
-'\n\n\n  '    Text
-'# Break out of the middle of an iteration.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Break out of the middle of an iteration.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.breakLoop: ' Name.Variable
+'  '          Text.Whitespace
+'_.breakLoop' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'breaker'     Name.Other
-'\n\n\n  '    Text
-'# Generate a unique integer id (unique within the entire client session).\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Generate a unique integer id (unique within the entire client session).' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# Useful for temporary DOM ids.\n' Comment.Single
+'  '          Text.Whitespace
+'# Useful for temporary DOM ids.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'idCounter: ' Name.Variable
+'  '          Text.Whitespace
+'idCounter'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n  '        Text
-'_.uniqueId: ' Name.Variable
+'\n  '        Text.Whitespace
+'_.uniqueId'  Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(prefix) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'prefix'      Name.Other
-' '           Text
+' '           Text.Whitespace
 'or'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'idCounter'   Name.Other
 '++'          Operator
-'\n\n\n  '    Text
-'# By default, Underscore uses ERB-style template delimiters, change the\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# By default, Underscore uses ERB-style template delimiters, change the' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# following template settings to use alternative delimiters.\n' Comment.Single
+'  '          Text.Whitespace
+'# following template settings to use alternative delimiters.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.templateSettings: ' Name.Variable
+'  '          Text.Whitespace
+'_.templateSettings' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
-'start: '     Name.Variable
-'       '     Text
+'\n    '      Text.Whitespace
+'start'       Name.Variable
+':'           Operator
+'        '    Text.Whitespace
 "'"           Literal.String
 '<%'          Literal.String
 "'"           Literal.String
-'\n    '      Text
-'end: '       Name.Variable
-'         '   Text
+'\n    '      Text.Whitespace
+'end'         Name.Variable
+':'           Operator
+'          '  Text.Whitespace
 "'"           Literal.String
 '%>'          Literal.String
 "'"           Literal.String
-'\n    '      Text
-'interpolate: ' Name.Variable
-' '           Text
+'\n    '      Text.Whitespace
+'interpolate' Name.Variable
+':'           Operator
+'  '          Text.Whitespace
 '/<%=(.+?)%>/g' Literal.String.Regex
-'\n  '        Text
+'\n  '        Text.Whitespace
 '}'           Punctuation
-'\n\n\n  '    Text
-"# JavaScript templating a-la ERB, pilfered from John Resig's\n" Comment.Single
+'\n\n\n  '    Text.Whitespace
+"# JavaScript templating a-la ERB, pilfered from John Resig's" Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'# "Secrets of the JavaScript Ninja", page 83.\n' Comment.Single
+'  '          Text.Whitespace
+'# "Secrets of the JavaScript Ninja", page 83.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-"# Single-quotea fix from Rick Strahl's version.\n" Comment.Single
+'  '          Text.Whitespace
+"# Single-quotea fix from Rick Strahl's version." Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'_.template: ' Name.Variable
+'  '          Text.Whitespace
+'_.template'  Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(str, data) ->' Name.Function
-'\n    '      Text
-'c: '         Name.Variable
+'\n    '      Text.Whitespace
+'c'           Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'templateSettings' Name.Other
-'\n    '      Text
-'fn: '        Name.Variable
+'\n    '      Text.Whitespace
+'fn'          Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Function'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'obj'         Literal.String
 "'"           Literal.String
 ','           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 "'"           Literal.String
 'var p=[],print=function(){p.push.apply(p,arguments);};' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-'\n      '    Text
+'\n      '    Text.Whitespace
 "'"           Literal.String
 'with(obj){p.push(' Literal.String
 "\\'"         Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-'\n      '    Text
+'\n      '    Text.Whitespace
 'str'         Name.Other
 '.'           Punctuation
 'replace'     Name.Other
 '('           Punctuation
 '/[\\r\\t\\n]/g' Literal.String.Regex
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '.'           Punctuation
 'replace'     Name.Other
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'RegExp'      Name.Builtin
 '('           Punctuation
 '"'           Literal.String
 '\\t'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '.'           Punctuation
 'split'       Name.Other
 '('           Punctuation
 "'"           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '.'           Punctuation
 'split'       Name.Other
 '('           Punctuation
 "'"           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '.'           Punctuation
 'replace'     Name.Other
 '('           Punctuation
 '.'           Punctuation
 'interpolate' Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "'"           Literal.String
 ',$1,'        Literal.String
 "'"           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '.'           Punctuation
 'split'       Name.Other
 '('           Punctuation
 ');'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '.'           Punctuation
 'split'       Name.Other
 '('           Punctuation
 "'"           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-'\n         ' Text
+'\n         ' Text.Whitespace
 '"'           Literal.String
 "'"           Literal.String
 ');}return p.join(' Literal.String
 "'"           Literal.String
 ');'          Literal.String
 '"'           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fn'          Name.Other
 '('           Punctuation
 'data'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fn'          Name.Other
-'\n\n\n  '    Text
-'# ------------------------------- Aliases ----------------------------------\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# ------------------------------- Aliases ----------------------------------' Comment.Single
+'\n'          Text.Whitespace
 
-'\n  '        Text
-'_.forEach: ' Name.Variable
+'\n  '        Text.Whitespace
+'_.forEach'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-'\n  '        Text
-'_.foldl: '   Name.Variable
-'  '          Text
-'_.inject: '  Name.Variable
-'     '       Text
+'\n  '        Text.Whitespace
+'_.foldl'     Name.Variable
+':'           Operator
+'   '         Text.Whitespace
+'_.inject'    Name.Variable
+':'           Operator
+'      '      Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'reduce'      Name.Other
-'\n  '        Text
-'_.foldr: '   Name.Variable
-'  '          Text
+'\n  '        Text.Whitespace
+'_.foldr'     Name.Variable
+':'           Operator
+'   '         Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'reduceRight' Name.Other
-'\n  '        Text
-'_.filter: '  Name.Variable
-' '           Text
+'\n  '        Text.Whitespace
+'_.filter'    Name.Variable
+':'           Operator
+'  '          Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'select'      Name.Other
-'\n  '        Text
-'_.every: '   Name.Variable
-'  '          Text
+'\n  '        Text.Whitespace
+'_.every'     Name.Variable
+':'           Operator
+'   '         Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'all'         Name.Other
-'\n  '        Text
-'_.some: '    Name.Variable
-'   '         Text
+'\n  '        Text.Whitespace
+'_.some'      Name.Variable
+':'           Operator
+'    '        Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'any'         Name.Other
-'\n  '        Text
-'_.head: '    Name.Variable
-'   '         Text
+'\n  '        Text.Whitespace
+'_.head'      Name.Variable
+':'           Operator
+'    '        Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'first'       Name.Other
-'\n  '        Text
-'_.tail: '    Name.Variable
-'   '         Text
+'\n  '        Text.Whitespace
+'_.tail'      Name.Variable
+':'           Operator
+'    '        Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'rest'        Name.Other
-'\n  '        Text
-'_.methods: ' Name.Variable
+'\n  '        Text.Whitespace
+'_.methods'   Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'functions'   Name.Other
-'\n\n\n  '    Text
-'#   /*------------------------ Setup the OOP Wrapper: --------------------------*/\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'#   /*------------------------ Setup the OOP Wrapper: --------------------------*/' Comment.Single
+'\n'          Text.Whitespace
 
-'\n  '        Text
-'# Helper function to continue chaining intermediate results.\n' Comment.Single
+'\n  '        Text.Whitespace
+'# Helper function to continue chaining intermediate results.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'result: '    Name.Variable
+'  '          Text.Whitespace
+'result'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '(obj, chain) ->' Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'chain'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '('           Punctuation
 'obj'         Name.Other
 'chain'       Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Other
-'\n\n\n  '    Text
-'# Add all of the Underscore functions to the wrapper object.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Add all of the Underscore functions to the wrapper object.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'functions'   Name.Other
 '_'           Name.Other
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(name) ->'   Name.Function
-'\n    '      Text
-'method: '    Name.Variable
+'\n    '      Text.Whitespace
+'method'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '_'           Name.Other
 '['           Punctuation
 'name'        Name.Other
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'wrapper'     Name.Other
 '.'           Punctuation
 'prototype'   Name.Other
 'name'        Name.Other
 ']'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '->'          Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 'unshift'     Name.Other
 '.'           Punctuation
 'call'        Name.Other
 '('           Punctuation
 'arguments'   Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 '_wrapped'    Name.Other
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'result'      Name.Other
 '('           Punctuation
 'method'      Name.Other
 '('           Punctuation
 '_'           Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'arguments'   Name.Other
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 '_chain'      Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Add all mutator Array functions to the wrapper.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Add all mutator Array functions to the wrapper.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 "'"           Literal.String
 'pop'         Literal.String
 "'"           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'push'        Literal.String
 "'"           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'reverse'     Literal.String
 "'"           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'shift'       Literal.String
 "'"           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'sort'        Literal.String
 "'"           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'splice'      Literal.String
 "'"           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'unshift'     Literal.String
 "'"           Literal.String
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(name) ->'   Name.Function
-'\n    '      Text
-'method: '    Name.Variable
+'\n    '      Text.Whitespace
+'method'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'Array'       Name.Builtin
 '.'           Punctuation
 'prototype'   Name.Other
 '['           Punctuation
 'name'        Name.Other
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'wrapper'     Name.Other
 '.'           Punctuation
 'prototype'   Name.Other
 'name'        Name.Other
 ']'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '->'          Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 'method'      Name.Other
 '.'           Punctuation
 'apply'       Name.Other
 '.'           Punctuation
 '_wrapped'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'arguments'   Name.Other
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'result'      Name.Other
 '('           Punctuation
 'this'        Keyword
 '.'           Punctuation
 '_wrapped'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 '_chain'      Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Add all accessor Array functions to the wrapper.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Add all accessor Array functions to the wrapper.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '_'           Name.Other
 '.'           Punctuation
 'each'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 "'"           Literal.String
 'concat'      Literal.String
 "'"           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'join'        Literal.String
 "'"           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'slice'       Literal.String
 "'"           Literal.String
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '(name) ->'   Name.Function
-'\n    '      Text
-'method: '    Name.Variable
+'\n    '      Text.Whitespace
+'method'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'Array'       Name.Builtin
 '.'           Punctuation
 'prototype'   Name.Other
 '['           Punctuation
 'name'        Name.Other
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'wrapper'     Name.Other
 '.'           Punctuation
 'prototype'   Name.Other
 'name'        Name.Other
 ']'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '->'          Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 'result'      Name.Other
 '('           Punctuation
 'method'      Name.Other
 '.'           Punctuation
 '_wrapped'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'arguments'   Name.Other
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 '_chain'      Name.Other
 ')'           Punctuation
-'\n\n\n  '    Text
-'# Start chaining a wrapped Underscore object.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Start chaining a wrapped Underscore object.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'wrapper::chain: ' Name.Variable
+'  '          Text.Whitespace
+'wrapper::chain' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
-'_chain: '    Name.Variable
+'_chain'      Name.Variable
+':'           Operator
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n    '      Text
+'\n    '      Text.Whitespace
 'this'        Keyword
-'\n\n\n  '    Text
-'# Extracts the result from a wrapped and chained object.\n' Comment.Single
+'\n\n\n  '    Text.Whitespace
+'# Extracts the result from a wrapped and chained object.' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
-'wrapper::value: ' Name.Variable
+'  '          Text.Whitespace
+'wrapper::value' Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 '_wrapped'    Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
index 78bfc017459254fa38616e608c6083a44887f5aa..0be8c033ab46dc73b233977606593d1f2d7d6783 100644 (file)
 ';;;; TYPEP und Verwandtes' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; Michael Stoll, 21. 10. 1988' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; Bruno Haible, 10.6.1989' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; Sam Steingold 2000-2005' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Datenstrukturen für TYPEP:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; - Ein Type-Specifier-Symbol hat auf seiner Propertyliste unter dem' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;   Indikator SYS::TYPE-SYMBOL eine Funktion von einem Argument, die' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;   testet, ob ein Objekt vom richtigen Typ ist.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; - Ein Symbol, das eine Type-Specifier-Liste beginnen kann, hat auf seiner' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;   Propertyliste unter dem Indikator SYS::TYPE-LIST eine Funktion von' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;   einem Argument für das zu testende Objekt und zusätzlichen Argumenten' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;   für die Listenelemente.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; - Ein Symbol, das als Typmacro definiert wurde, hat auf seiner Property-' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;   liste unter dem Indikator SYSTEM::DEFTYPE-EXPANDER den zugehörigen' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;   Expander: eine Funktion, die den zu expandierenden Type-Specifier (eine' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;   mindestens einelementige Liste) als Argument bekommt.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'in-package'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"EXT"'       Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'export'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'type-expand' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'in-package'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"SYSTEM"'    Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; vorläufig, solange bis clos.lisp geladen wird:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'eval-when'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eval'        Name.Builtin
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'predefun'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'clos::built-in-class-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fboundp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'clos::class-name" Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'clos::class-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fun'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'error-of-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error"      Literal.String.Symbol
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: invalid type specification ~S"' Literal.String
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'fun'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; ============================================================================' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; return the CLOS class named by TYPESPEC or NIL' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'clos-class'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'cc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'CLOS::CLOSCLASS" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'cc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos::defined-class-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cc'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos:class-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cc'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'cc'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; TYPEP, CLTL S. 72, S. 42-51' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 'env'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&aux'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; x = Objekt, y = Typ' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'env'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'expand-deftype' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'TYPE-SYMBOL" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'TYPE-LIST"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'DEFSTRUCT-DESCRIPTION" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ds-typep'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos-class'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 "; It's not worth handling structure classes specially here." Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'clos::typep-class' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'SATISFIES"  Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'error-of-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error"      Literal.String.Symbol
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: argument to SATISFIES must be a symbol: ~S"' Literal.String
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-function' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'MEMBER"     Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'member'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'EQL"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'NOT"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'AND"        Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'OR"         Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'TYPE-LIST"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'clos::defined-class-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos::typep-class' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'clos::eql-specializer-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos::eql-specializer-singleton' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'encodingp'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'charset-typep' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; ----------------------------------------------------------------------------' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; UPGRADED-ARRAY-ELEMENT-TYPE is a lattice homomorphism, see' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; ANSI CL 15.1.2.1.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'upgraded-array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 'environment' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'environment' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; see array.d' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'case'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'BIT'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'BIT"        Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'CHARACTER'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'CHARACTER"  Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'T'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'T"          Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'NIL'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subtypep'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 "'NIL"        Literal.String.Symbol
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'multiple-value-bind' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sys::subtype-integer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '; Es gilt (or (null low) (subtypep type `(INTEGER ,low ,high)))' Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'minusp'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integer-length' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '; Es gilt (subtypep type `(UNSIGNED-BYTE ,l))' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'BIT"        Literal.String.Symbol
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'UNSIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'UNSIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'UNSIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'UNSIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'UNSIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'T"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subtypep'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'CHARACTER"  Literal.String.Symbol
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 "'CHARACTER"  Literal.String.Symbol
-'\n               ' Text
+'\n               ' Text.Whitespace
 "'T"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; ----------------------------------------------------------------------------' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; UPGRADED-COMPLEX-PART-TYPE is a lattice homomorphism, see' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; HyperSpec/Body/fun_complex.html and HyperSpec/Body/syscla_complex.html,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; and an idempotent. Therefore' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (subtypep (upgraded-complex-part-type T1) (upgraded-complex-part-type T2))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; is equivalent to' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (subtypep T1 (upgraded-complex-part-type T2))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (Proof: Let U T be an abbreviation for (upgraded-complex-part-type T).' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;  If U T1 <= U T2, then T1 <= U T1 <= U T2.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;  If T1 <= U T2, then by homomorphism U T1 <= U U T2 = U T2.)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; For _any_ CL implementation, you could define' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;   (defun upgraded-complex-part-type (type) 'REAL)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Likewise for _any_ CL implementation, you could define' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (defun upgraded-complex-part-type (type) type)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; or - again for _any_ CL implementation:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (defun upgraded-complex-part-type (type)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;     (cond ((subtypep type 'NIL) 'NIL)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;           ((subtypep type 'SHORT-FLOAT) 'SHORT-FLOAT)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;           ((subtypep type 'SINGLE-FLOAT) 'SINGLE-FLOAT)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;           ((subtypep type 'DOUBLE-FLOAT) 'DOUBLE-FLOAT)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;           ((subtypep type 'LONG-FLOAT) 'LONG-FLOAT)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;           ((subtypep type 'RATIONAL) 'RATIONAL)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;           ((subtypep type 'REAL) 'REAL)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;           (t (error ...))))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; The reason is that a complex number is immutable: no setters for the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; realpart and imagpart exist.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; We choose the second implementation because it allows the most precise' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; type inference.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'upgraded-complex-part-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 'environment' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'environment' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subtypep'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'REAL"       Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'type'        Keyword
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'error-of-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error"      Literal.String.Symbol
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: type ~S is not a subtype of ~S"' Literal.String
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 "'upgraded-complex-part-type" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'real"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; ----------------------------------------------------------------------------' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Macros for defining the various built-in "atomic type specifier"s and' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; "compound type specifier"s. The following macros add information for both' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; the TYPEP function above and the c-TYPEP in the compiler.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; Alist symbol -> funname, used by the compiler.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defparameter' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'c-typep-alist1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; Alist symbol -> lambdabody, used by the compiler.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defparameter' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'c-typep-alist2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; Alist symbol -> expander function, used by the compiler.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defparameter' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'c-typep-alist3' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; (def-atomic-type symbol function-name)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; defines an atomic type. The function-name designates a function taking one' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; argument and returning a generalized boolean value. It can be either a' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; symbol or a lambda expression.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol'      Name.Class
-' '           Text
+' '           Text.Whitespace
 'funname'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'lambdap'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'funname'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'funname'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'LAMBDA"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'PROGN'       Name.Variable
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'SETF'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'GET'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',symbol"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'TYPE-SYMBOL" Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ','           Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'lambdap'     Name.Variable
-'\n                ' Text
+'\n                ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'FUNCTION'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'concat-pnames' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"TYPE-SYMBOL-"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'funname'     Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'FUNCTION'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'funname'     Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ','           Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'lambdap'     Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'SETQ'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'C-TYPEP-ALIST2' Name.Variable
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'NCONC'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'C-TYPEP-ALIST2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'LIST'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CONS'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',symbol"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "',"          Literal.String.Symbol
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'funname'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'SETQ'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'C-TYPEP-ALIST1' Name.Variable
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'NCONC'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'C-TYPEP-ALIST1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'LIST'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CONS'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',symbol"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "',funname"   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 "',symbol"    Literal.String.Symbol
-'\n     '     Text
+'\n     '     Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; (def-compound-type symbol lambda-list (x) check-form typep-form c-typep-form)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; defines a compound type. The lambda-list is of the form (&optional ...)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; where the arguments come from the CDR of the type specifier.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; For typep-form, x is an object.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; For c-typep-form, x is a multiply evaluatable form (actually a gensym).' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 "; check-form is a form performing error checking, may call `error'." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; typep-form should return a generalized boolean value.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; c-typep-form should produce a form returning a generalized boolean value.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol'      Name.Class
-' '           Text
+' '           Text.Whitespace
 'lambdalist'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'var'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'check-form'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'typep-form'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c-typep-form' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'PROGN'       Name.Variable
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'SETF'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'GET'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',symbol"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'TYPE-LIST"  Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'FUNCTION'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'concat-pnames' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"TYPE-LIST-"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Class
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'LAMBDA'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'var'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'lambdalist'  Name.Variable
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'check-form'  Name.Variable
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'MACROLET'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'ERROR'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&REST'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ERROR-ARGS'  Name.Variable
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 '('           Punctuation
 'LIST*'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'ERROR-OF-TYPE" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 "'ERROR"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'ERROR-ARGS'  Name.Variable
 ')'           Punctuation
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 ','           Operator
 'check-form'  Name.Variable
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 ','           Operator
 'typep-form'  Name.Variable
-'\n     '     Text
+'\n     '     Text.Whitespace
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'SETQ'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'C-TYPEP-ALIST3' Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'NCONC'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'C-TYPEP-ALIST3' Name.Variable
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'LIST'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CONS'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',symbol"    Literal.String.Symbol
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 "#'"          Name.Function
 '('           Punctuation
 'LAMBDA'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'var'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'lambdalist'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&REST'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ILLEGAL-ARGS' Name.Variable
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 '('           Punctuation
 'DECLARE'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'IGNORE'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ILLEGAL-ARGS' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'check-form'  Name.Variable
-'\n                                      ' Text
+'\n                                      ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'MACROLET'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'ERROR'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&REST'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ERROR-ARGS'  Name.Variable
 ')'           Punctuation
-'\n                                                     ' Text
+'\n                                                     ' Text.Whitespace
 '('           Punctuation
 'LIST'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'PROGN"      Literal.String.Symbol
-'\n                                                           ' Text
+'\n                                                           ' Text.Whitespace
 '('           Punctuation
 'LIST*'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'C-WARN"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'ERROR-ARGS'  Name.Variable
 ')'           Punctuation
-'\n                                                           ' Text
+'\n                                                           ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'THROW'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'C-TYPEP"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'NIL'         Name.Constant
 ')'           Punctuation
-'\n                                                  ' Text
+'\n                                                  ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n                                          ' Text
+'\n                                          ' Text.Whitespace
 ','           Operator
 'check-form'  Name.Variable
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n                                    ' Text
+'\n                                    ' Text.Whitespace
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 ','           Operator
 'c-typep-form' Name.Variable
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 ')'           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 "',symbol"    Literal.String.Symbol
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; CLtL1 p. 43' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ARRAY'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'arrayp'      Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ATOM'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'atom'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BASE-CHAR'   Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '#+'          Operator
 'BASE-CHAR=CHARACTER' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'characterp'  Name.Builtin
-'\n  '        Text
+'\n  '        Text.Whitespace
 '#-'          Operator
 'BASE-CHAR=CHARACTER' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'characterp'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'base-char-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BASE-STRING' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '#+'          Operator
 'BASE-CHAR=CHARACTER' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'CHARACTER"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '#-'          Operator
 'BASE-CHAR=CHARACTER' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'BASE-CHAR"  Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BIGNUM'      Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fixnump'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BIT'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BIT-VECTOR'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'bit-vector-p' Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BOOLEAN'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'nil"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'t"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'CHARACTER'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'characterp'  Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'COMPILED-FUNCTION' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'compiled-function-p' Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'COMPLEX'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'complexp'    Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'CONS'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'consp'       Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'DOUBLE-FLOAT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'double-float-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ENCODING'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'encodingp'   Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'EXTENDED-CHAR' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '#+'          Operator
 'BASE-CHAR=CHARACTER' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '#-'          Operator
 'BASE-CHAR=CHARACTER' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'characterp'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'base-char-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'FIXNUM'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fixnump'     Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'FLOAT'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'floatp'      Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'FUNCTION'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'functionp'   Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'HASH-TABLE'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'hash-table-p' Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'INTEGER'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'integerp'    Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'KEYWORD'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keywordp'    Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LIST'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'listp'       Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#+'          Operator
 'LOGICAL-PATHNAMES' Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LOGICAL-PATHNAME' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'logical-pathname-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LONG-FLOAT'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'long-float-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'NIL'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'null'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'NUMBER'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'numberp'     Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'PACKAGE'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'packagep'    Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'PATHNAME'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pathnamep'   Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'RANDOM-STATE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'random-state-p' Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'RATIO'       Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rationalp'   Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'RATIONAL'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rationalp'   Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'READTABLE'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'readtablep'  Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'REAL'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'realp'       Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SEQUENCE'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sequencep'   Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SHORT-FLOAT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'short-float-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-ARRAY' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'simple-array-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BASE-STRING' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'simple-string-p' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '#+'          Operator
 'BASE-CHAR=CHARACTER' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'CHARACTER"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '#-'          Operator
 'BASE-CHAR=CHARACTER' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'BASE-CHAR"  Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BIT-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'simple-bit-vector-p' Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'simple-string-p' Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'simple-vector-p' Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SINGLE-FLOAT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'single-float-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '%standard-char-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'characterp'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'standard-char-p' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; ABI'       Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'STANDARD-CHAR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '%standard-char-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'CLOS:STANDARD-OBJECT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'clos::std-instance-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'STREAM'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'streamp'     Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'FILE-STREAM' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'file-stream-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SYNONYM-STREAM' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'synonym-stream-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BROADCAST-STREAM' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'broadcast-stream-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'CONCATENATED-STREAM' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'concatenated-stream-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'TWO-WAY-STREAM' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'two-way-stream-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ECHO-STREAM' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'echo-stream-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'STRING-STREAM' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string-stream-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'STRING'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'stringp'     Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'STRING-CHAR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'characterp'  Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'CLOS:STRUCTURE-OBJECT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'clos::structure-object-p' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SYMBOL'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'symbolp'     Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; foreign1.lisp is loaded after this file,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; so these symbols are not external yet' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#+'          Operator
 'ffi'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ffi::foreign-function' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'ffi::foreign-function" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-of'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#+'          Operator
 'ffi'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ffi::foreign-variable' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'ffi::foreign-variable" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-of'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#+'          Operator
 'ffi'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ffi::foreign-address' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'ffi::foreign-address" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-of'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; see lispbibl.d (#define FOREIGN) and predtype.d (TYPE-OF):' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#+'          Operator
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'unix'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ffi'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'affi'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'win32'       Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'foreign-pointer' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'foreign-pointer" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-of'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VECTOR'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'vectorp'     Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-atomic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'PLIST'       Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'multiple-value-bind' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list-length-dotted' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'evenp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'length'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'dim'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; make sure DIM is a valid dimension' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'dim'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'dim'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'INTEGER'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'ARRAY-DIMENSION-LIMIT' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'error'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: dimension ~S is invalid"' Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',type"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'dim'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'ensure-rank' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'rank'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; make sure RANK is a valid rank' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'rank'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'INTEGER'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'ARRAY-RANK-LIMIT' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'error'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: rank ~S is invalid"' Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',type"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'rank'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; CLtL1 p. 46-50' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'c-typep-array' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'EQUAL'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ARRAY-ELEMENT-TYPE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',"          Literal.String.Symbol
 '('           Punctuation
 'upgraded-array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'EQL'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ARRAY-RANK'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'EQL'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ARRAY-RANK'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'mapcap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dim'         Name.Variable
 ')'           Punctuation
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 '('           Punctuation
 'prog1'       Name.Builtin
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dim'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n                                    ' Text
+'\n                                    ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n                                    ' Text
+'\n                                    ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'EQL'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',dim"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ARRAY-DIMENSION' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 '('           Punctuation
 'incf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 'dims'        Name.Variable
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'c-typep-vector' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'EQL'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',size"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ARRAY-DIMENSION' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '<'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error-of-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error"      Literal.String.Symbol
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '#1='         Operator
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: argument to ~S must be *, ~S or a list of ~S: ~S"' Literal.String
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-'\n       '   Text
+'\n       '   Text.Whitespace
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '>'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error-of-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error"      Literal.String.Symbol
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '#1#'         Operator
-' '           Text
+' '           Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'caller'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 '<'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c-warn'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#1='         Operator
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: argument to ~S must be *, ~S or a list of ~S: ~S"' Literal.String
 ')'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'caller'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'caller'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'caller'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 "'c-TYPEP"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 '>='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 '>'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c-warn'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#1#'         Operator
-' '           Text
+' '           Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'caller'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'caller'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'caller'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 "'c-TYPEP"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ARRAY'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'ensure-rank' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ARRAY'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dim'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ARRAY'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dim'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arrayp'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'equal'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'upgraded-array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-rank'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-rank'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'every'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimensions' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 ')'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-array' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'ARRAYP"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-ARRAY' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'ensure-rank' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-ARRAY' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dim'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-ARRAY' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dim'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'simple-array-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'equal'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'upgraded-array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-rank'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-rank'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'every'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimensions' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 ')'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-array' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SIMPLE-ARRAY-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dims'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VECTOR'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VECTOR'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vectorp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'equal'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'upgraded-array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimension' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'VECTORP'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'EQUAL'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ARRAY-ELEMENT-TYPE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',"          Literal.String.Symbol
 '('           Punctuation
 'upgraded-array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'EQL'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ARRAY-DIMENSION' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',size"      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMLPE-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'simple-vector-p' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimension' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-vector' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SIMPLE-VECTOR-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'COMPLEX'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rtype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'itype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rtype'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'complexp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'rtype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'realpart'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'upgraded-complex-part-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'rtype'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'itype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'imagpart'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'upgraded-complex-part-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'itype'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'COMPLEXP'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'rtype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'TYPEP'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'REALPART'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',"          Literal.String.Symbol
 '('           Punctuation
 'upgraded-complex-part-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'rtype'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'itype'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'TYPEP'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'IMAGPART'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',"          Literal.String.Symbol
 '('           Punctuation
 'upgraded-complex-part-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'itype'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'INTEGER'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'INTEGER"    Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'INTEGER"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'INTEGERP"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'MOD'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'error'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: argument to MOD must be an integer: ~S"' Literal.String
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'INTEGERP'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'NOT'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'MINUSP'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'error'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: argument to SIGNED-BYTE must be an integer or * : ~S"' Literal.String
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integer-length' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'INTEGERP'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 '<'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'INTEGER-LENGTH' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'UNSIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'error'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S: argument to UNSIGNED-BYTE must be an integer or * : ~S"' Literal.String
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 "'typep"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'minusp'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integer-length' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'INTEGERP'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'NOT'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'MINUSP'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'INTEGER-LENGTH' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'REAL'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'realp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'REAL"       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'REAL"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'REALP"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'RATIONAL'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'rationalp'   Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'RATIONAL"   Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'RATIONAL"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'RATIONALP"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'FLOAT'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'floatp'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'FLOAT"      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'FLOAT"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'FLOATP"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SHORT-FLOAT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'short-float-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SHORT-FLOAT" Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SHORT-FLOAT" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'SHORT-FLOAT-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SINGLE-FLOAT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'single-float-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SINGLE-FLOAT" Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SINGLE-FLOAT" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'SINGLE-FLOAT-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'DOUBLE-FLOAT' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'double-float-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'DOUBLE-FLOAT" Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'DOUBLE-FLOAT" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'DOUBLE-FLOAT-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LONG-FLOAT'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'typep-number-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'long-float-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'LONG-FLOAT" Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'LONG-FLOAT" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'LONG-FLOAT-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'STRING'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'STRING'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimension' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-vector' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'STRINGP"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'simple-string-p' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimension' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-vector' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SIMPLE-STRING-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BASE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BASE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimension' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-vector' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'STRINGP"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BASE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BASE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'simple-string-p' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimension' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-vector' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SIMPLE-STRING-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BIT-VECTOR'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BIT-VECTOR'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bit-vector-p' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimension' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-vector' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'BIT-VECTOR-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BIT-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ensure-dim'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BIT-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'simple-bit-vector-p' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-dimension' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'c-typep-vector' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SIMPLE-BIT-VECTOR-P" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'def-compound-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'CONS'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'car-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'car-type'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'cdr-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cdr-type'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CONSP'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'car-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'TYPEP'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CAR'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',car-type"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'cdr-type'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'TYPEP'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CDR'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "',cdr-type"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fmakunbound' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'def-compound-type" Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; ----------------------------------------------------------------------------' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; Typtest ohne Gefahr einer Fehlermeldung. Für SIGNAL und HANDLER-BIND.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'safe-typep'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 'env'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '*error-handler*' Name.Variable.Global
-'\n          ' Text
+'\n          ' Text.Whitespace
 "#'"          Name.Function
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword
-' '           Text
+' '           Text.Whitespace
 'error-args'  Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'declare'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ignore'      Keyword
-' '           Text
+' '           Text.Whitespace
 'error-args'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 'safe-typep'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'env'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; Umwandlung eines "type for declaration" in einen "type for discrimination".' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type-for-discrimination' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'notp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&aux'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'TYPE-SYMBOL" Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'TYPE-LIST"  Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'DEFTYPE-EXPANDER" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'zx'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-for-discrimination' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'notp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'zx'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'zx'          Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'case'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'SATISFIES'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'MEMBER'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'EQL'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'NOT'         Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'zx'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-for-discrimination' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'notp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'zx'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'NOT'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'zx'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'OR'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'COMPLEX'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VALUES'      Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'zx'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mapcar'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-for-discrimination' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'notp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'every'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'zx'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'zx'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'FUNCTION'    Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; (FUNCTION arg-types res-type) is somewhere between' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; NIL and FUNCTION, but undecidable.' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'notp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'FUNCTION"   Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'TYPE-LIST"  Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'DEFTYPE-EXPANDER" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 '('           Punctuation
 'zx'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-for-discrimination' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'notp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'zx'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'zx'          Name.Variable
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; Testet eine Liste von Werten auf Erfüllen eines Type-Specifiers. Für THE.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; ABI'       Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'macrolet'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'near-typep'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'objform'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'typform'     Name.Variable
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; near-typep ist wie typep, nur dass das Objekt auch ein' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; Read-Label sein darf. Das tritt z.B. auf bei' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; (read-from-string "#1=#S(FOO :X #1#)")' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; im Konstruktor MAKE-FOO. Die Implementation ist aber' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; nicht gezwungen, bei fehlerhaftem THE zwingend einen' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; Fehler zu melden, darum ist ein lascherer Typcheck hier' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; erlaubt.' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'g'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'gensym'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'g'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'objform'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'g'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'typform'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-of'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'g'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'READ-LABEL" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'VALUES"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; The VALUES type specifier is ill-defined in ANSI CL.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;'          Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; There are two possibilities to define a VALUES type specifier in a' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; sane way:' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; - (EXACT-VALUES type1 ... [&optional ...]) describes the exact shape' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;   of the values list, as received by MULTIPLE-VALUE-LIST.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";;   For example, (EXACT-VALUES SYMBOL) is matched by (values 'a) but not" Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";;   by (values 'a 'b) or (values)." Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; - (ASSIGNABLE-VALUES type1 ... [&optional ...]) describes the values' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;   as received by a set of variables through MULTIPLE-VALUE-BIND or' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;   MULTIPLE-VALUE-SETQ. For example, (ASSIGNABLE-VALUES SYMBOL) is' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;   defined by whether' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;     (MULTIPLE-VALUE-BIND (var1) values (DECLARE (TYPE SYMBOL var1)) ...)' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;   is valid or not; therefore (ASSIGNABLE-VALUES SYMBOL) is matched by' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";;   (values 'a) and (values 'a 'b) and (values)." Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;   Note that &OPTIONAL is actually redundant here:' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;     (ASSIGNABLE-VALUES type1 ... &optional otype1 ...)' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;   is equivalent to' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;     (ASSIGNABLE-VALUES type1 ... (OR NULL otype1) ...)' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; HyperSpec/Body/typspe_values.html indicates that VALUES means' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; EXACT-VALUES; however, HyperSpec/Body/speope_the.html indicates that' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; VALUES means ASSIGNABLE-VALUES.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;'          Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; SBCL interprets the VALUES type specifier to mean EXACT-VALUES when' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; it contains &OPTIONAL or &REST, but ASSIGNABLE-VALUES when it has' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; only a tuple of type specifiers. This is utter nonsense, in particular' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; because it makes (VALUES type1 ... typek &OPTIONAL)' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; different from   (VALUES type1 ... typek).' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;'          Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Here we use the ASSIGNABLE-VALUES interpretation.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";; In SUBTYPEP we just punt and don't assume any interpretation." Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'vals'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'values'      Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'types'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ';; required:' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'loop'        Name.Builtin
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'atom'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'atom'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'lambda-list-keywords' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'near-typep'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ';; &optional:' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'&optional"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'loop'        Name.Builtin
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'atom'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'atom'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'lambda-list-keywords' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'near-typep'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ';; &rest &key:' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'case'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'atom'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'the"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'near-typep'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 '&key'        Keyword
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'the"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'&key"       Literal.String.Symbol
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'oddp'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'keywords'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'loop'        Name.Builtin
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'atom'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'atom'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'lambda-list-keywords' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'item'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'listp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'the"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-to-keyword' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'near-typep'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keywords'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'&allow-other-keys" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 ':allow-other-keys' Literal.String.Symbol
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'do'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'L'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'vals'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'L'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'atom'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'L'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'L'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'keywords'    Name.Variable
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 '%the'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'types'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'the"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'near-typep'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'values'      Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'values'      Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; ===========================================================================' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; SUBTYPEP' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'load'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"subtypep"'  Literal.String
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';; Returns the number of bytes that are needed to represent #\\Null in a' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; given encoding.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'encoding-zeroes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'encoding'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '#+'          Operator
 'UNICODE'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; this should use min_bytes_per_char for cache, not the hash table' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ext:encoding-charset' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'encoding'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'table'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#.'          Operator
 '('           Punctuation
 'make-hash-table' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':key-type'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':value-type' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'fixnum"     Literal.String.Symbol
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 ':test'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'stablehash-equal" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ':warn-if-needs-rehash-after-gc' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 ':initial-contents' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '('           Punctuation
 '"UTF-7"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#.'          Operator
 '('           Punctuation
 'make-string' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':initial-element' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'code-char'   Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'gethash'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'table'       Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'setf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'gethash'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'table'       Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '-'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ext:convert-string-to-bytes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'encoding'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ext:convert-string-to-bytes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tester'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'encoding'    Name.Variable
-'\n                                                      ' Text
+'\n                                                      ' Text.Whitespace
 ':end'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '#-'          Operator
 'UNICODE'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Determines two values low,high such that' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (subtypep type `(INTEGER ,low ,high))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; holds and low is as large as possible and high is as small as possible.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; low = * means -infinity, high = * means infinity.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; When (subtypep type 'INTEGER) is false, the values NIL,NIL are returned." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; We need this function only for MAKE-ARRAY, UPGRADED-ARRAY-ELEMENT-TYPE and' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; OPEN and can therefore w.l.o.g. replace' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   type  with  `(OR ,type (MEMBER 0))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#|'          Comment.Multiline
 " ;; The original implementation calls canonicalize-type and then applies\n   ;; a particular SUBTYPE variant:\n (defun subtype-integer (type)\n  (macrolet ((yes () '(return-from subtype-integer (values low high)))\n             (no () '(return-from subtype-integer nil))\n             (unknown () '(return-from subtype-integer nil)))\n    (setq type (canonicalize-type type))\n    (if (consp type)\n      (case (first type)\n        (MEMBER ; (MEMBER &rest objects)\n          ;; All elements must be of type INTEGER.\n          (let ((low 0) (high 0)) ; wlog!\n            (dolist (x (rest type) (yes))\n              (unless (typep x 'INTEGER) (return (no)))\n              (setq low (min low x) high (max high x)))))\n        (OR ; (OR type*)\n          ;; Every type must be subtype of INTEGER.\n          (let ((low 0) (high 0)) ; wlog!\n            (dolist (type1 (rest type) (yes))\n              (multiple-value-bind (low1 high1) (subtype-integer type1)\n                (unless low1 (return (no)))\n                (setq low (if (or (eq low '*) (eq low1 '*)) '* (min low low1))\n                      high (if (or (eq high '*) (eq high1 '*))\n                               '* (max high high1)))))))\n        (AND ; (AND type*)\n          ;; If one of the types is subtype of INTEGER, then yes,\n          ;; otherwise unknown.\n          (let ((low nil) (high nil))\n            (dolist (type1 (rest type))\n              (multiple-value-bind (low1 high1) (subtype-integer type1)\n                (when low1\n                  (if low\n                    (setq low (if (eq low '*) low1 (if (eq low1 '*) low (max low low1)))\n                          high (if (eq high '*) high1 (if (eq high1 '*) high (min high high1))))\n                    (setq low low1 high high1)))))\n            (if low\n              (progn\n                (when (and (numberp low) (numberp high) (not (<= low high)))\n                  (setq low 0 high 0) ; type equivalent to NIL)\n                (yes))\n              (unknown)))))\n      (setq type (list type)))\n    (if (eq (first type) 'INTEGER)\n      (let ((low (if (rest type) (second type) '*))\n            (high (if (cddr type) (third type) '*)))\n        (when (consp low)\n          (setq low (first low))\n          (when (numberp low) (incf low)))\n        (when (consp high)\n          (setq high (first high))\n          (when (numberp high) (decf high)))\n        (when (and (numberp low) (numberp high) (not (<= low high))) ; type leer?\n          (setq low 0 high 0))\n        (yes))\n      (if (and (eq (first type) 'INTERVALS) (eq (second type) 'INTEGER))\n        (let ((low (third type))\n              (high (car (last type))))\n          (when (consp low)\n            (setq low (first low))\n            (when (numberp low) (incf low)))\n          (when (consp high)\n            (setq high (first high))\n            (when (numberp high) (decf high)))\n          (yes))\n        (unknown)))))\n" Comment.Multiline
 
 '|#'          Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 ';; This implementation inlines the (tail-recursive) canonicalize-type' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 ";; function. Its advantage is that it doesn't cons as much." Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 ";; (For example, (subtype-integer '(UNSIGNED-BYTE 8)) doesn't cons.)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'subtype-integer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'macrolet'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'yes'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 'subtype-integer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 'subtype-integer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'unknown'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 'subtype-integer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'expand-deftype' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'case'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'BIT'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'FIXNUM'      Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '#,'          Operator
 'most-negative-fixnum' Name.Variable
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '#,'          Operator
 'most-positive-fixnum' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'INTEGER'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BIGNUM'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIGNED-BYTE' Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'UNSIGNED-BYTE' Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'NIL'         Name.Constant
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; wlog!'     Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list-length' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'case'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'MEMBER'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (MEMBER &rest objects)' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; All elements must be of type INTEGER.' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; wlog!'     Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'INTEGER"    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'EQL'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (EQL object)' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'INTEGER"    Literal.String.Symbol
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'OR'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (OR type*)' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; Every type must be subtype of INTEGER.' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; wlog!'     Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type1'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'multiple-value-bind' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high1'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subtype-integer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type1'       Name.Variable
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'return'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 "'*"          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low1'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high1'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                                   ' Text
+'\n                                   ' Text.Whitespace
 "'*"          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high1'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (AND type*)' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; If one of the types is subtype of INTEGER, then yes,' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; otherwise unknown.' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type1'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'multiple-value-bind' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'low1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high1'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subtype-integer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type1'       Name.Variable
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low1'        Name.Variable
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'low1'        Name.Variable
-'\n                                      ' Text
+'\n                                      ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-'\n                                          ' Text
+'\n                                          ' Text.Whitespace
 '('           Punctuation
 'max'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low1'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'high1'       Name.Variable
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high1'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-'\n                                           ' Text
+'\n                                           ' Text.Whitespace
 '('           Punctuation
 'min'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high1'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'low1'        Name.Variable
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high1'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; type equivalent to NIL' Comment.Single
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'unknown'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'INTEGER'     Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'third'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'decf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; type equivalent to NIL' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'INTERVALS'   Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'INTEGER"    Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'third'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'low'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'decf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'high'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'unknown'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'MOD'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (MOD n)'   Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'SIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (SIGNED-BYTE &optional s)' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'plusp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ash'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; (ash 1 *) == (expt 2 *)' Comment.Single
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'UNSIGNED-BYTE' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (UNSIGNED-BYTE &optional s)' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ash'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; (ash 1 *) == (expt 2 *)' Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'clos::defined-class-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos::built-in-class-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos:class-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'CLOS::CLOSCLASS" Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'return-from' Keyword
-' '           Text
+' '           Text.Whitespace
 'subtype-integer' Name.Variable
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'subtype-integer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos:class-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'clos::eql-specializer-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos::eql-specializer-singleton' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typep'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'INTEGER"    Literal.String.Symbol
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'low'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'high'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yes'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'encodingp'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'no'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#|'          Comment.Multiline
 " TODO: Fix subtype-integer such that this works.\nHenry Baker:\n (defun type-null (x)\n  (values (and (eq 'bit (upgraded-array-element-type `(or bit ,x)))\n               (not (typep 0 x))\n               (not (typep 1 x)))\n          t))\n (type-null '(and symbol number))\n (type-null '(and integer symbol))\n (type-null '(and integer character))\n" Comment.Multiline
 
 '|#'          Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Determines a sequence kind (an atom, as defined in defseq.lisp: one of' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   LIST - stands for LIST' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   VECTOR - stands for (VECTOR T)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   STRING - stands for (VECTOR CHARACTER)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   1, 2, 4, 8, 16, 32 - stands for (VECTOR (UNSIGNED-BYTE n))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   0 - stands for (VECTOR NIL))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; that indicates the sequence type meant by the given type. Other possible' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; return values are' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   SEQUENCE - denoting a type whose intersection with (OR LIST VECTOR) is not' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;              subtype of LIST or VECTOR, or' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   NIL - indicating a type whose intersection with (OR LIST VECTOR) is empty.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; When the type is (OR (VECTOR eltype1) ... (VECTOR eltypeN)), the chosen' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; element type is the smallest element type that contains all of eltype1 ...' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; eltypeN.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; User-defined sequence types are not supported here.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; This implementation inlines the (tail-recursive) canonicalize-type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; function. Its advantage is that it doesn't cons as much. Also it employs" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; some heuristics and does not have the full power of SUBTYPEP.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'subtype-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'expand-deftype' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'case'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'LIST'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'CONS'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'NULL'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'LIST"       Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'NIL'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'BIT-VECTOR'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BIT-VECTOR' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'1"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'STRING'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BASE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BASE-STRING' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'STRING"     Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'VECTOR'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ARRAY'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-ARRAY' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'SEQUENCE'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'SEQUENCE"   Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list-length' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'case'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'MEMBER'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (MEMBER &rest objects)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sequence-type-union' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type-of-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'kind'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'EQL'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (EQL object)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'type-of-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'OR'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (OR type*)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sequence-type-union' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subtype-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'kind'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (AND type*)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SEQUENCE"   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sequence-type-intersection' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subtype-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'kind'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'SIMPLE-BIT-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BIT-VECTOR'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; (SIMPLE-BIT-VECTOR &optional size)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'1"          Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'SIMPLE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'STRING'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-BASE-STRING' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BASE-STRING' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; (SIMPLE-STRING &optional size)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'STRING"     Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'SIMPLE-VECTOR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '; (SIMPLE-VECTOR &optional size)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'VECTOR'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ARRAY'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SIMPLE-ARRAY' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; (VECTOR &optional el-type size), (ARRAY &optional el-type dimensions)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdddr'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'*"          Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'upgraded-array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'el-type'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'T"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'CHARACTER"  Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'STRING"     Literal.String.Symbol
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'BIT"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'1"          Literal.String.Symbol
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'UNSIGNED-BYTE" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'0"          Literal.String.Symbol
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S is not up-to-date with ~S for element type ~S"' Literal.String
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 "'subtypep-sequence" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'upgraded-array-element-type" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'CONS'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; (CONS &optional cartype cdrtype)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdddr'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'subtypep"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 "'LIST"       Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'clos::defined-class-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos::built-in-class-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos:class-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'CLOS::CLOSCLASS" Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'subtype-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos:class-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'clos::eql-specializer-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'type-of-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos::eql-specializer-singleton' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type-of-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'listp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'LIST"       Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'vectorp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-element-type' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'T"          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'CHARACTER"  Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'STRING"     Literal.String.Symbol
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'BIT"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'1"          Literal.String.Symbol
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'UNSIGNED-BYTE" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'second'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'0"          Literal.String.Symbol
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TEXT'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"~S is not up-to-date with ~S for element type ~S"' Literal.String
 ')'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 "'type-of-sequence" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'array-element-type" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'eltype'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'sequence-type-union' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '; Simple general rules.' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; Now the union of two different types.' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SEQUENCE"   Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SEQUENCE"   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'SEQUENCE"   Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'LIST"       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'LIST"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '; union of LIST and a vector type' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 "'SEQUENCE"   Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'STRING"     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'STRING"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '; union of STRING and an integer-vector type' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'sequence-type-intersection' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '; Simple general rules.' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; Now the intersection of two different types.' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SEQUENCE"   Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'SEQUENCE"   Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'LIST"       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'LIST"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '; intersection of LIST and a vector type' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 "'NIL"        Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'VECTOR"     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eql'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'0"          Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'STRING"     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'STRING"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '; intersection of STRING and an integer-vector type' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 "'0"          Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; ============================================================================' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'type-expand' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword
-' '           Text
+' '           Text.Whitespace
 'once-p'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'multiple-value-bind' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'expanded'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'user-defined-p' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'expand-deftype' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'once-p'      Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'user-defined-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'expanded'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'user-defined-p' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'TYPE-SYMBOL" Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'TYPE-LIST"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'DEFSTRUCT-DESCRIPTION" Literal.String.Symbol
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'clos-class'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'type-expand" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'case'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'SATISFIES'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'MEMBER'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'EQL'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'NOT'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'AND'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'OR'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cond'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'get'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'TYPE-LIST"  Literal.String.Symbol
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'type-expand" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'clos::defined-class-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'values'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typespec-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'type-expand" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'typespec'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; ============================================================================' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clos::funcallable-instance-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'clos::class-name' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'fmakunbound' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'clos::class-name" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'keywordp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':junk'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'T'           Name.Constant
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'keywordp'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '::junk'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'T'           Name.Constant
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'symbol-name' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '::junk'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"JUNK"'      Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'symbol-name' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':#junk'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"#JUNK"'     Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'symbol-name' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':#.junk'     Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"#.JUNK"'    Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
index 93532111c771f7a8983b300e9bcac154ef4c6425..a1aa0ef7017a9d96f5d429387124da051aa08a42 100644 (file)
@@ -16,6 +16,7 @@
     :license: BSD, see LICENSE for details.
 """
 
+import pathlib
 import pytest
 
 from tests.conftest import LexerSeparateTestItem
@@ -23,7 +24,7 @@ from tests.conftest import LexerSeparateTestItem
 
 def pytest_collect_file(parent, path):
     if path.ext != '.output' and path.basename != 'conftest.py':
-        return LexerTestFile.from_parent(parent, fspath=path)
+        return LexerTestFile.from_parent(parent, path=pathlib.Path(path))
 
 
 class LexerTestFile(pytest.File):
diff --git a/tests/examplefiles/cplint/bag_game_mpe.pl b/tests/examplefiles/cplint/bag_game_mpe.pl
new file mode 100644 (file)
index 0000000..3beae18
--- /dev/null
@@ -0,0 +1,35 @@
+
+:- use_module(library(pita)).
+
+:- if(current_predicate(use_rendering/1)).
+:- use_rendering(c3).
+:- use_rendering(graphviz).
+:- use_rendering(table,[header(['Multivalued variable index','Rule index','Grounding substitution'])]).
+:- endif.
+
+:- pita.
+
+:- begin_lpad.
+
+win :- red, green.
+win :- blue, yellow.
+
+map_query 0.4::red.
+map_query 0.9::green.
+map_query 0.5::blue.
+map_query 0.6::yellow.
+
+
+:- end_lpad.
+
+/** <examples>
+?- map(win,P,Exp).
+Exp = [
+  rule(0, '', [red:0.4, '' : 0.6], true), 
+  rule(1, green, [green:0.9, '' : 0.09999999999999998], true), 
+  rule(2, blue, [blue:0.5, '' : 0.5], true), 
+  rule(3, yellow, [yellow:0.6, '' : 0.4], true)],
+P = 0.162,
+
+
+*/
diff --git a/tests/examplefiles/cplint/bag_game_mpe.pl.output b/tests/examplefiles/cplint/bag_game_mpe.pl.output
new file mode 100644 (file)
index 0000000..1053530
--- /dev/null
@@ -0,0 +1,150 @@
+':-'          Operator
+' '           Text
+'use_module'  Name.Function
+'('           Punctuation
+'library'     Name.Function
+'('           Punctuation
+'pita'        Literal.String.Atom
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'if'          Name.Function
+'('           Punctuation
+'current_predicate' Name.Function
+'('           Punctuation
+'use_rendering' Literal.String.Atom
+'/'           Operator
+'1'           Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_rendering' Name.Function
+'('           Punctuation
+'c3'          Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_rendering' Name.Function
+'('           Punctuation
+'graphviz'    Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_rendering' Name.Function
+'('           Punctuation
+'table'       Literal.String.Atom
+','           Punctuation
+'['           Punctuation
+'header'      Name.Function
+'('           Punctuation
+'['           Punctuation
+"'Multivalued variable index'" Literal.String.Atom
+','           Punctuation
+"'Rule index'" Literal.String.Atom
+','           Punctuation
+"'Grounding substitution'" Literal.String.Atom
+']'           Punctuation
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'endif'       Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'pita'        Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'begin_lpad'  Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'win'         Name.Function
+' '           Text
+':-'          Operator
+' '           Text
+'red'         Literal.String.Atom
+','           Punctuation
+' '           Text
+'green'       Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'win'         Name.Function
+' '           Text
+':-'          Operator
+' '           Text
+'blue'        Literal.String.Atom
+','           Punctuation
+' '           Text
+'yellow'      Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'map_query'   Keyword
+' '           Text
+'0.4'         Literal.Number.Float
+'::'          Operator
+'red'         Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'map_query'   Keyword
+' '           Text
+'0.9'         Literal.Number.Float
+'::'          Operator
+'green'       Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'map_query'   Keyword
+' '           Text
+'0.5'         Literal.Number.Float
+'::'          Operator
+'blue'        Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'map_query'   Keyword
+' '           Text
+'0.6'         Literal.Number.Float
+'::'          Operator
+'yellow'      Literal.String.Atom
+'.'           Punctuation
+'\n\n\n'      Text
+
+':-'          Operator
+' '           Text
+'end_lpad'    Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'/*'          Comment.Multiline
+'*'           Comment.Multiline
+" <examples>\n?- map(win,P,Exp).\nExp = [\n  rule(0, '', [red:0.4, '' : 0.6], true), \n  rule(1, green, [green:0.9, '' : 0.09999999999999998], true), \n  rule(2, blue, [blue:0.5, '' : 0.5], true), \n  rule(3, yellow, [yellow:0.6, '' : 0.4], true)],\nP = 0.162,\n\n\n" Comment.Multiline
+
+'*/'          Comment.Multiline
+'\n'          Text
diff --git a/tests/examplefiles/cplint/coin.pl b/tests/examplefiles/cplint/coin.pl
new file mode 100644 (file)
index 0000000..d7f9b3d
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+Throwing a coin with uncertainty on its fairness, from
+J. Vennekens, S. Verbaeten, and M. Bruynooghe. Logic programs with annotated
+disjunctions. In International Conference on Logic Programming,
+volume 3131 of LNCS, pages 195-209. Springer, 2004.
+
+*/
+:- use_module(library(pita)).
+
+:- if(current_predicate(use_rendering/1)).
+:- use_rendering(c3).
+:- use_rendering(graphviz).
+:- use_rendering(table,[header(['Multivalued variable index','Rule index','Grounding substitution'])]).
+:- endif.
+
+:- pita.
+
+
+:- begin_lpad.
+
+heads(Coin): 1/2; tails(Coin) : 1/2:-toss(Coin),\+biased(Coin).
+% if we toss a Coin that is not biased then it lands heads with probability 1/2
+% and tails with probability 1/2
+heads(Coin): 0.6 ; tails(Coin) : 0.4:-toss(Coin),biased(Coin).
+% if we toss a Coin that is biased then it lands heads with probability 0.6
+% % and tails with probability 0.4
+fair(Coin):0.9 ; biased(Coin):0.1.
+% a Coin is fair with probability 0.9 and biased with probability 0.1
+toss(coin).
+% coin is certainly tossed
+
+:- end_lpad.
+
+/** <examples>
+
+?- prob(heads(coin),Prob).  % what is the probability that coin lands heads?
+% expected result 0.51
+?- prob(tails(coin),Prob).  % what is the probability that coin lands tails?
+% expected result 0.49
+?- prob(heads(coin),Prob),bar1(Prob,C).  % draw a bar representing 
+% the probability that coin lands heads
+?- prob(heads(coin),Prob),bar(Prob,C).  % draw two bars representing 
+% the probabilities that coin lands heads and that it doesn't land heads
+?- prob(tails(coin),Prob),bar1(Prob,C).  % draw a bar representing 
+% the probability that coin lands tails
+
+?- prob(heads(coin),biased(coin),Prob).
+% what is the probability that coin lands heads given the coin is biased?
+% expected result 0.6
+
+?- bdd_dot_string(heads(coin),BDD,Var).
+% What is the BDD for query heads(coin)?
+% A solid edge indicates a 1-child, a dashed edge indicates a 0-child and
+% a dotted
+% edge indicates a negated 0-child.
+% The table Var contains the associations between the rule groundings and the
+% multivalued variables.
+
+
+*/
+
diff --git a/tests/examplefiles/cplint/coin.pl.output b/tests/examplefiles/cplint/coin.pl.output
new file mode 100644 (file)
index 0000000..c70942e
--- /dev/null
@@ -0,0 +1,211 @@
+'/*'          Comment.Multiline
+'\nThrowing a coin with uncertainty on its fairness, from\nJ. Vennekens, S. Verbaeten, and M. Bruynooghe. Logic programs with annotated\ndisjunctions. In International Conference on Logic Programming,\nvolume 3131 of LNCS, pages 195-209. Springer, 2004.\n\n' Comment.Multiline
+
+'*/'          Comment.Multiline
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_module'  Name.Function
+'('           Punctuation
+'library'     Name.Function
+'('           Punctuation
+'pita'        Literal.String.Atom
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'if'          Name.Function
+'('           Punctuation
+'current_predicate' Name.Function
+'('           Punctuation
+'use_rendering' Literal.String.Atom
+'/'           Operator
+'1'           Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_rendering' Name.Function
+'('           Punctuation
+'c3'          Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_rendering' Name.Function
+'('           Punctuation
+'graphviz'    Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_rendering' Name.Function
+'('           Punctuation
+'table'       Literal.String.Atom
+','           Punctuation
+'['           Punctuation
+'header'      Name.Function
+'('           Punctuation
+'['           Punctuation
+"'Multivalued variable index'" Literal.String.Atom
+','           Punctuation
+"'Rule index'" Literal.String.Atom
+','           Punctuation
+"'Grounding substitution'" Literal.String.Atom
+']'           Punctuation
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'endif'       Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'pita'        Literal.String.Atom
+'.'           Punctuation
+'\n\n\n'      Text
+
+':-'          Operator
+' '           Text
+'begin_lpad'  Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'heads'       Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+':'           Operator
+' '           Text
+'1'           Literal.Number.Integer
+'/'           Operator
+'2'           Literal.Number.Integer
+';'           Punctuation
+' '           Text
+'tails'       Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+' '           Text
+':'           Operator
+' '           Text
+'1'           Literal.Number.Integer
+'/'           Operator
+'2'           Literal.Number.Integer
+':-'          Operator
+'toss'        Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+','           Punctuation
+'\\+'         Literal.String.Atom
+'biased'      Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% if we toss a Coin that is not biased then it lands heads with probability 1/2' Comment.Single
+'\n'          Text
+
+'% and tails with probability 1/2' Comment.Single
+'\n'          Text
+
+'heads'       Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+':'           Operator
+' '           Text
+'0.6'         Literal.Number.Float
+' '           Text
+';'           Punctuation
+' '           Text
+'tails'       Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+' '           Text
+':'           Operator
+' '           Text
+'0.4'         Literal.Number.Float
+':-'          Operator
+'toss'        Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+','           Punctuation
+'biased'      Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% if we toss a Coin that is biased then it lands heads with probability 0.6' Comment.Single
+'\n'          Text
+
+'% % and tails with probability 0.4' Comment.Single
+'\n'          Text
+
+'fair'        Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+':'           Operator
+'0.9'         Literal.Number.Float
+' '           Text
+';'           Punctuation
+' '           Text
+'biased'      Name.Function
+'('           Punctuation
+'Coin'        Name.Variable
+')'           Punctuation
+':'           Operator
+'0.1'         Literal.Number.Float
+'.'           Punctuation
+'\n'          Text
+
+'% a Coin is fair with probability 0.9 and biased with probability 0.1' Comment.Single
+'\n'          Text
+
+'toss'        Name.Function
+'('           Punctuation
+'coin'        Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% coin is certainly tossed' Comment.Single
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'end_lpad'    Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'/*'          Comment.Multiline
+'*'           Comment.Multiline
+" <examples>\n\n?- prob(heads(coin),Prob).  % what is the probability that coin lands heads?\n% expected result 0.51\n?- prob(tails(coin),Prob).  % what is the probability that coin lands tails?\n% expected result 0.49\n?- prob(heads(coin),Prob),bar1(Prob,C).  % draw a bar representing \n% the probability that coin lands heads\n?- prob(heads(coin),Prob),bar(Prob,C).  % draw two bars representing \n% the probabilities that coin lands heads and that it doesn't land heads\n?- prob(tails(coin),Prob),bar1(Prob,C).  % draw a bar representing \n% the probability that coin lands tails\n\n?- prob(heads(coin),biased(coin),Prob).\n% what is the probability that coin lands heads given the coin is biased?\n% expected result 0.6\n\n?- bdd_dot_string(heads(coin),BDD,Var).\n% What is the BDD for query heads(coin)?\n% A solid edge indicates a 1-child, a dashed edge indicates a 0-child and\n% a dotted\n% edge indicates a negated 0-child.\n% The table Var contains the associations between the rule groundings and the\n% multivalued variables.\n\n\n" Comment.Multiline
+
+'*/'          Comment.Multiline
+'\n'          Text
diff --git a/tests/examplefiles/cplint/dt_umbrella.pl b/tests/examplefiles/cplint/dt_umbrella.pl
new file mode 100644 (file)
index 0000000..f7aa7d3
--- /dev/null
@@ -0,0 +1,34 @@
+% From [Van den Broeck et al., 2010].\r
+\r
+:- use_module(library(pita)).\r
+\r
+:- pita.\r
+\r
+:- begin_lpad.\r
+\r
+0.3::rain.\r
+0.5::wind.\r
+\r
+% decision facts\r
+? :: umbrella.\r
+? :: raincoat.\r
+\r
+broken_umbrella :- rain,umbrella,wind.\r
+dry :- rain, raincoat.\r
+dry :- rain, umbrella, \+(broken_umbrella).\r
+dry :- \+(rain).\r
+\r
+% utility facts\r
+broken_umbrella => -40.\r
+raincoat => -20.\r
+umbrella => -2.\r
+dry => 60.\r
+\r
+:- end_lpad.\r
+\r
+/*\r
+ * ?- dt_solve(Strategy,Value).\r
+ * Expected result:\r
+ * Strategy = [umbrella]\r
+ * Value = 43.0\r
+*/\r
diff --git a/tests/examplefiles/cplint/dt_umbrella.pl.output b/tests/examplefiles/cplint/dt_umbrella.pl.output
new file mode 100644 (file)
index 0000000..e937d9e
--- /dev/null
@@ -0,0 +1,162 @@
+'% From [Van den Broeck et al., 2010].' Comment.Single
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'use_module'  Name.Function
+'('           Punctuation
+'library'     Name.Function
+'('           Punctuation
+'pita'        Literal.String.Atom
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'pita'        Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'begin_lpad'  Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'0.3'         Literal.Number.Float
+'::'          Operator
+'rain'        Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'0.5'         Literal.Number.Float
+'::'          Operator
+'wind'        Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'% decision facts' Comment.Single
+'\n'          Text
+
+'?'           Name.Builtin
+' '           Text
+'::'          Operator
+' '           Text
+'umbrella'    Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'?'           Name.Builtin
+' '           Text
+'::'          Operator
+' '           Text
+'raincoat'    Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'broken_umbrella' Name.Function
+' '           Text
+':-'          Operator
+' '           Text
+'rain'        Literal.String.Atom
+','           Punctuation
+'umbrella'    Literal.String.Atom
+','           Punctuation
+'wind'        Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'dry'         Name.Function
+' '           Text
+':-'          Operator
+' '           Text
+'rain'        Literal.String.Atom
+','           Punctuation
+' '           Text
+'raincoat'    Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'dry'         Name.Function
+' '           Text
+':-'          Operator
+' '           Text
+'rain'        Literal.String.Atom
+','           Punctuation
+' '           Text
+'umbrella'    Literal.String.Atom
+','           Punctuation
+' '           Text
+'\\+'         Literal.String.Atom
+'('           Punctuation
+'broken_umbrella' Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'dry'         Name.Function
+' '           Text
+':-'          Operator
+' '           Text
+'\\+'         Literal.String.Atom
+'('           Punctuation
+'rain'        Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n\n'        Text
+
+'% utility facts' Comment.Single
+'\n'          Text
+
+'broken_umbrella' Literal.String.Atom
+' '           Text
+'=>'          Operator
+' '           Text
+'-'           Operator
+'40.'         Literal.Number.Float
+'\n'          Text
+
+'raincoat'    Literal.String.Atom
+' '           Text
+'=>'          Operator
+' '           Text
+'-'           Operator
+'20.'         Literal.Number.Float
+'\n'          Text
+
+'umbrella'    Literal.String.Atom
+' '           Text
+'=>'          Operator
+' '           Text
+'-'           Operator
+'2.'          Literal.Number.Float
+'\n'          Text
+
+'dry'         Literal.String.Atom
+' '           Text
+'=>'          Operator
+' '           Text
+'60.'         Literal.Number.Float
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'end_lpad'    Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'/*'          Comment.Multiline
+'\n '         Comment.Multiline
+'*'           Comment.Multiline
+' ?- dt_solve(Strategy,Value).\n ' Comment.Multiline
+'*'           Comment.Multiline
+' Expected result:\n ' Comment.Multiline
+'*'           Comment.Multiline
+' Strategy = [umbrella]\n ' Comment.Multiline
+'*'           Comment.Multiline
+' Value = 43.0\n' Comment.Multiline
+
+'*/'          Comment.Multiline
+'\n'          Text
diff --git a/tests/examplefiles/cplint/gaussian_mixture.pl b/tests/examplefiles/cplint/gaussian_mixture.pl
new file mode 100644 (file)
index 0000000..8c8c743
--- /dev/null
@@ -0,0 +1,100 @@
+/*
+Mixture of two Gaussians. A biased coin is thrown, if it lands heads X in mix(X)
+is sampled from a Gaussian with mean 0 and variance 1. if it lands tails X is
+sampled from a Gaussian with mean 5 and variance 2.
+The example illustrates the use of continuous random variables and
+the use of sampling, including
+rejection sampling and Metropolis/Hastings. Moreover the example
+illustrates the use of the predicate histogram/3 for graphing the
+probability density function of continuous random variables.
+*/
+:- use_module(library(mcintyre)).
+
+:- if(current_predicate(use_rendering/1)).
+:- use_rendering(c3).
+:- endif.
+:- mc.
+:- begin_lpad.
+
+heads:0.6;tails:0.4. 
+% a coin is thrown. The coin is biased: with probability 0.6 it lands heads,
+% with probability 0.4 it lands tails
+
+g(X): gaussian(X,0, 1).
+% X in g(X)  follows a Gaussian distribution with mean 0 and variance 1
+h(X): gaussian(X,5, 2).
+% X in h(X)  follows a Gaussian distribution with mean 5 and variance 2
+
+mix(X) :- heads, g(X).
+% if the coin lands heads, X in mix(X) is given by g(X)
+mix(X) :- tails, h(X).
+% if the coin lands tails, X in mix(X) is given by h(X)
+
+:- end_lpad.
+
+hist_uncond(Samples,NBins,Chart):-
+  mc_sample_arg(mix(X),Samples,X,L0),
+  histogram(L0,Chart,[nbins(NBins)]).
+% take SAmples samples of X in mix(X) and draw a histogram with NBins bins representing 
+% the probability density of X 
+
+hist_rej_heads(Samples,NBins,Chart):-
+  mc_rejection_sample_arg(mix(X),heads,Samples,X,L0),
+  histogram(L0,Chart,[nbins(NBins)]).
+% take Samples samples of X in mix(X) given that heads was true using 
+% rejection sampling and draw an
+% histogram with NBins bins representing the probability density of X
+
+hist_mh_heads(Samples,Lag,NBins,Chart):-
+  mc_mh_sample_arg(mix(X),heads,Samples,X,L0,[lag(Lag)]),
+  histogram(L0,Chart,[nbins(NBins)]).
+% take Samples samples of X in mix(X) given that heads was true using 
+% Metropolis-Hastings and draw an
+% histogram with NBins bins representing the probability density of X
+
+hist_rej_dis(Samples,NBins,Chart):-
+  mc_rejection_sample_arg(mix(X),(mix(Y),Y>2),Samples,X,L0),
+  histogram(L0,Chart,[nbins(NBins)]).
+% take Samples samples of X in mix(X) given that X>2 was true using 
+% rejection sampling and draw an
+% histogram with NBins bins representing the probability density of X
+
+hist_mh_dis(Samples,Lag,NBins,Chart):-
+  mc_mh_sample_arg(mix(X),(mix(Y),Y>2),Samples,X,L0,[lag(Lag)]),
+  histogram(L0,Chart,[nbins(NBins)]).
+% take Samples samples of X in mix(X) given that X>2 was true using 
+% Metropolis-Hastings and draw an
+% histogram with NBins bins representing the probability density of X
+
+
+/** <examples>
+?- hist_uncond(1000,40,G).
+% take 1000 samples of X in mix(X) and draw a histogram with 40 bins representing 
+% the probability density of X 
+?- mc_sample_arg(mix(X),1000,X,L),histogram(L,Chart,[nbins(40)]).
+% take 1000 samples of X in mix(X) and draw a histogram with 40 bins representing 
+% the probability density of X
+?- mc_expectation(mix(X),1000,X,E).
+% E=2.017964749114414
+?- hist_rej_heads(1000,40,G).
+% take 1000 samples of X in mix(X) given that heads was true using 
+% rejection sampling and draw an
+% histogram with 40 bins representing the probability density of X
+?- hist_mh_heads(1000,2,40,G).
+% take 1000 samples of X in mix(X) given that heads was true using 
+% Metropolis-Hastings and draw an
+% histogram with 40 bins representing the probability density of X
+?- mc_mh_expectation(mix(X),heads,1000,X,E,[lag(2)]).
+% E=-0.018433307290594284
+?- hist_rej_dis(1000,40,G).
+% take 1000 samples of X in mix(X) given that X>2 was true using 
+% rejection sampling and draw an
+% histogram with 40 bins representing the probability density of X
+?- hist_mh_dis(1000,2,40,G).
+% take 1000 samples of X in mix(X) given that X>2 was true using 
+% Metropolis-Hastings and draw an
+% histogram with 40 bins representing the probability density of X
+?- mc_mh_expectation(mix(X),(mix(Y),Y>2),1000,X,E,[lag(2)]).
+
+*/
diff --git a/tests/examplefiles/cplint/gaussian_mixture.pl.output b/tests/examplefiles/cplint/gaussian_mixture.pl.output
new file mode 100644 (file)
index 0000000..733f508
--- /dev/null
@@ -0,0 +1,464 @@
+'/*'          Comment.Multiline
+'\nMixture of two Gaussians. A biased coin is thrown, if it lands heads X in mix(X)\nis sampled from a Gaussian with mean 0 and variance 1. if it lands tails X is\nsampled from a Gaussian with mean 5 and variance 2.\nThe example illustrates the use of continuous random variables and\nthe use of sampling, including\nrejection sampling and Metropolis' Comment.Multiline
+'/'           Comment.Multiline
+'Hastings. Moreover the example\nillustrates the use of the predicate histogram' Comment.Multiline
+'/'           Comment.Multiline
+'3 for graphing the\nprobability density function of continuous random variables.\n' Comment.Multiline
+
+'*/'          Comment.Multiline
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_module'  Name.Function
+'('           Punctuation
+'library'     Name.Function
+'('           Punctuation
+'mcintyre'    Literal.String.Atom
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'if'          Name.Function
+'('           Punctuation
+'current_predicate' Name.Function
+'('           Punctuation
+'use_rendering' Literal.String.Atom
+'/'           Operator
+'1'           Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_rendering' Name.Function
+'('           Punctuation
+'c3'          Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'endif'       Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'mc'          Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'begin_lpad'  Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'heads'       Literal.String.Atom
+':'           Punctuation
+'0.6'         Literal.Number.Float
+';'           Punctuation
+'tails'       Literal.String.Atom
+':'           Punctuation
+'0.4'         Literal.Number.Float
+'.'           Punctuation
+' \n'         Text
+
+'% a coin is thrown. The coin is biased: with probability 0.6 it lands heads,' Comment.Single
+'\n'          Text
+
+'% with probability 0.4 it lands tails' Comment.Single
+'\n\n'        Text
+
+'g'           Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+':'           Operator
+' '           Text
+'gaussian'    Name.Builtin
+'('           Punctuation
+'X'           Name.Variable
+','           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'1'           Literal.Number.Integer
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% X in g(X)  follows a Gaussian distribution with mean 0 and variance 1' Comment.Single
+'\n'          Text
+
+'h'           Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+':'           Operator
+' '           Text
+'gaussian'    Name.Builtin
+'('           Punctuation
+'X'           Name.Variable
+','           Punctuation
+'5'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'2'           Literal.Number.Integer
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% X in h(X)  follows a Gaussian distribution with mean 5 and variance 2' Comment.Single
+'\n\n'        Text
+
+'mix'         Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+' '           Text
+':-'          Operator
+' '           Text
+'heads'       Literal.String.Atom
+','           Punctuation
+' '           Text
+'g'           Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% if the coin lands heads, X in mix(X) is given by g(X)' Comment.Single
+'\n'          Text
+
+'mix'         Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+' '           Text
+':-'          Operator
+' '           Text
+'tails'       Literal.String.Atom
+','           Punctuation
+' '           Text
+'h'           Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% if the coin lands tails, X in mix(X) is given by h(X)' Comment.Single
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'end_lpad'    Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'hist_uncond' Name.Function
+'('           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'NBins'       Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+')'           Punctuation
+':-'          Operator
+'\n  '        Text
+'mc_sample_arg' Name.Function
+'('           Punctuation
+'mix'         Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+','           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'X'           Name.Variable
+','           Punctuation
+'L0'          Name.Variable
+')'           Punctuation
+','           Punctuation
+'\n  '        Text
+'histogram'   Name.Function
+'('           Punctuation
+'L0'          Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+','           Punctuation
+'['           Punctuation
+'nbins'       Name.Function
+'('           Punctuation
+'NBins'       Name.Variable
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% take SAmples samples of X in mix(X) and draw a histogram with NBins bins representing ' Comment.Single
+'\n'          Text
+
+'% the probability density of X ' Comment.Single
+'\n\n'        Text
+
+'hist_rej_heads' Name.Function
+'('           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'NBins'       Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+')'           Punctuation
+':-'          Operator
+'\n  '        Text
+'mc_rejection_sample_arg' Name.Function
+'('           Punctuation
+'mix'         Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+','           Punctuation
+'heads'       Literal.String.Atom
+','           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'X'           Name.Variable
+','           Punctuation
+'L0'          Name.Variable
+')'           Punctuation
+','           Punctuation
+'\n  '        Text
+'histogram'   Name.Function
+'('           Punctuation
+'L0'          Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+','           Punctuation
+'['           Punctuation
+'nbins'       Name.Function
+'('           Punctuation
+'NBins'       Name.Variable
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% take Samples samples of X in mix(X) given that heads was true using ' Comment.Single
+'\n'          Text
+
+'% rejection sampling and draw an' Comment.Single
+'\n'          Text
+
+'% histogram with NBins bins representing the probability density of X' Comment.Single
+'\n\n'        Text
+
+'hist_mh_heads' Name.Function
+'('           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'Lag'         Name.Variable
+','           Punctuation
+'NBins'       Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+')'           Punctuation
+':-'          Operator
+'\n  '        Text
+'mc_mh_sample_arg' Name.Function
+'('           Punctuation
+'mix'         Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+','           Punctuation
+'heads'       Literal.String.Atom
+','           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'X'           Name.Variable
+','           Punctuation
+'L0'          Name.Variable
+','           Punctuation
+'['           Punctuation
+'lag'         Name.Function
+'('           Punctuation
+'Lag'         Name.Variable
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+','           Punctuation
+'\n  '        Text
+'histogram'   Name.Function
+'('           Punctuation
+'L0'          Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+','           Punctuation
+'['           Punctuation
+'nbins'       Name.Function
+'('           Punctuation
+'NBins'       Name.Variable
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% take Samples samples of X in mix(X) given that heads was true using ' Comment.Single
+'\n'          Text
+
+'% Metropolis-Hastings and draw an' Comment.Single
+'\n'          Text
+
+'% histogram with NBins bins representing the probability density of X' Comment.Single
+'\n\n'        Text
+
+'hist_rej_dis' Name.Function
+'('           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'NBins'       Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+')'           Punctuation
+':-'          Operator
+'\n  '        Text
+'mc_rejection_sample_arg' Name.Function
+'('           Punctuation
+'mix'         Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+','           Punctuation
+'('           Punctuation
+'mix'         Name.Function
+'('           Punctuation
+'Y'           Name.Variable
+')'           Punctuation
+','           Punctuation
+'Y'           Name.Variable
+'>'           Operator
+'2'           Literal.Number.Integer
+')'           Punctuation
+','           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'X'           Name.Variable
+','           Punctuation
+'L0'          Name.Variable
+')'           Punctuation
+','           Punctuation
+'\n  '        Text
+'histogram'   Name.Function
+'('           Punctuation
+'L0'          Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+','           Punctuation
+'['           Punctuation
+'nbins'       Name.Function
+'('           Punctuation
+'NBins'       Name.Variable
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% take Samples samples of X in mix(X) given that X>2 was true using ' Comment.Single
+'\n'          Text
+
+'% rejection sampling and draw an' Comment.Single
+'\n'          Text
+
+'% histogram with NBins bins representing the probability density of X' Comment.Single
+'\n\n'        Text
+
+'hist_mh_dis' Name.Function
+'('           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'Lag'         Name.Variable
+','           Punctuation
+'NBins'       Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+')'           Punctuation
+':-'          Operator
+'\n  '        Text
+'mc_mh_sample_arg' Name.Function
+'('           Punctuation
+'mix'         Name.Function
+'('           Punctuation
+'X'           Name.Variable
+')'           Punctuation
+','           Punctuation
+'('           Punctuation
+'mix'         Name.Function
+'('           Punctuation
+'Y'           Name.Variable
+')'           Punctuation
+','           Punctuation
+'Y'           Name.Variable
+'>'           Operator
+'2'           Literal.Number.Integer
+')'           Punctuation
+','           Punctuation
+'Samples'     Name.Variable
+','           Punctuation
+'X'           Name.Variable
+','           Punctuation
+'L0'          Name.Variable
+','           Punctuation
+'['           Punctuation
+'lag'         Name.Function
+'('           Punctuation
+'Lag'         Name.Variable
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+','           Punctuation
+'\n  '        Text
+'histogram'   Name.Function
+'('           Punctuation
+'L0'          Name.Variable
+','           Punctuation
+'Chart'       Name.Variable
+','           Punctuation
+'['           Punctuation
+'nbins'       Name.Function
+'('           Punctuation
+'NBins'       Name.Variable
+')'           Punctuation
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'% take Samples samples of X in mix(X) given that X>2 was true using ' Comment.Single
+'\n'          Text
+
+'% Metropolis-Hastings and draw an' Comment.Single
+'\n'          Text
+
+'% histogram with NBins bins representing the probability density of X' Comment.Single
+'\n\n\n'      Text
+
+'/*'          Comment.Multiline
+'*'           Comment.Multiline
+' <examples>\n?- hist_uncond(1000,40,G).\n% take 1000 samples of X in mix(X) and draw a histogram with 40 bins representing \n% the probability density of X \n?- mc_sample_arg(mix(X),1000,X,L),histogram(L,Chart,[nbins(40)]).\n% take 1000 samples of X in mix(X) and draw a histogram with 40 bins representing \n% the probability density of X\n?- mc_expectation(mix(X),1000,X,E).\n% E=2.017964749114414\n?- hist_rej_heads(1000,40,G).\n% take 1000 samples of X in mix(X) given that heads was true using \n% rejection sampling and draw an\n% histogram with 40 bins representing the probability density of X\n?- hist_mh_heads(1000,2,40,G).\n% take 1000 samples of X in mix(X) given that heads was true using \n% Metropolis-Hastings and draw an\n% histogram with 40 bins representing the probability density of X\n?- mc_mh_expectation(mix(X),heads,1000,X,E,[lag(2)]).\n% E=-0.018433307290594284\n?- hist_rej_dis(1000,40,G).\n% take 1000 samples of X in mix(X) given that X>2 was true using \n% rejection sampling and draw an\n% histogram with 40 bins representing the probability density of X\n?- hist_mh_dis(1000,2,40,G).\n% take 1000 samples of X in mix(X) given that X>2 was true using \n% Metropolis-Hastings and draw an\n% histogram with 40 bins representing the probability density of X\n?- mc_mh_expectation(mix(X),(mix(Y),Y>2),1000,X,E,[lag(2)]).\n\n' Comment.Multiline
+
+'*/'          Comment.Multiline
+'\n \n'       Text
diff --git a/tests/examplefiles/cplint/indian_gpadc.pl b/tests/examplefiles/cplint/indian_gpadc.pl
new file mode 100644 (file)
index 0000000..6968cab
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+The Indian GPA Problem. From 
+http://www.robots.ox.ac.uk/~fwood/anglican/examples/viewer/?worksheet=indian-gpa 
+"This example was inspired by Stuart Russell...the problem is: if you observe 
+that a student GPA is exactly 4.04.0 in a model of transcripts of students 
+from the USA (GPA's from 0.00.0 to 4.04.0 and India (GPA's from 0.00.0 to 
+10.010.0) what is the probability that the student is from India?... 
+As we know from statistics, given the mixture distribution and given the 
+fact that his/her GPA is exactly 4.0, the probability that the student 
+is American must be 1.0.
+(i.e. zero probability that the student is from India)."
+Probabilistic logic program from 
+https://github.com/davidenitti/DC/blob/master/examples/indian-gpa.pl
+*/
+:- use_module(library(mcintyre)).
+
+:- if(current_predicate(use_rendering/1)).
+:- use_rendering(c3).
+:- endif.
+:- mc.
+:- begin_lpad.
+coin ~ finite([0.95:true,0.05:false]).
+agpa ~ beta(8,2) := coin~=true.
+american_gpa ~ finite([0.85:4.0,0.15:0.0]) := coin~=false.
+
+american_gpa ~ val(V) := agpa ~=A, V is A*4.0.
+
+coin2 ~ finite([0.99:true,0.01:false]).
+igpa ~ beta(5,5) := coin2~=true.
+indian_gpa ~ finite([0.1:0.0,0.9:10.0]) := coin2~=false.
+
+indian_gpa ~ val(V) := igpa ~=A, V is A*10.0.
+
+nation ~ finite([0.25:a,0.75:i]).
+
+student_gpa ~ val(A) := nation~=a,american_gpa~=A.
+student_gpa ~ val(I) := nation~=i,indian_gpa~=I.
+
+
+:- end_lpad.
+
+
+/** <examples>
+?- mc_lw_sample(nation(a),student_gpa(4.0),1000,PPost).
+% probability that the nation is America given that the student got 4.0
+% in his GPA
+% expected result: 1.0
+?- mc_sample(nation(a),1000,PPrior).
+% prior probability that the nation is America 
+% expected result: 0.25
+*/
diff --git a/tests/examplefiles/cplint/indian_gpadc.pl.output b/tests/examplefiles/cplint/indian_gpadc.pl.output
new file mode 100644 (file)
index 0000000..266f78e
--- /dev/null
@@ -0,0 +1,342 @@
+'/*'          Comment.Multiline
+'\nThe Indian GPA Problem. From \nhttp:' Comment.Multiline
+'/'           Comment.Multiline
+'/'           Comment.Multiline
+'www.robots.ox.ac.uk' Comment.Multiline
+'/'           Comment.Multiline
+'~fwood'      Comment.Multiline
+'/'           Comment.Multiline
+'anglican'    Comment.Multiline
+'/'           Comment.Multiline
+'examples'    Comment.Multiline
+'/'           Comment.Multiline
+'viewer'      Comment.Multiline
+'/'           Comment.Multiline
+'?worksheet=indian-gpa \n"This example was inspired by Stuart Russell...the problem is: if you observe \nthat a student GPA is exactly 4.04.0 in a model of transcripts of students \nfrom the USA (GPA\'s from 0.00.0 to 4.04.0 and India (GPA\'s from 0.00.0 to \n10.010.0) what is the probability that the student is from India?... \nAs we know from statistics, given the mixture distribution and given the \nfact that his' Comment.Multiline
+'/'           Comment.Multiline
+'her GPA is exactly 4.0, the probability that the student \nis American must be 1.0.\n(i.e. zero probability that the student is from India)."\nProbabilistic logic program from \nhttps:' Comment.Multiline
+'/'           Comment.Multiline
+'/'           Comment.Multiline
+'github.com'  Comment.Multiline
+'/'           Comment.Multiline
+'davidenitti' Comment.Multiline
+'/'           Comment.Multiline
+'DC'          Comment.Multiline
+'/'           Comment.Multiline
+'blob'        Comment.Multiline
+'/'           Comment.Multiline
+'master'      Comment.Multiline
+'/'           Comment.Multiline
+'examples'    Comment.Multiline
+'/'           Comment.Multiline
+'indian-gpa.pl\n' Comment.Multiline
+
+'*/'          Comment.Multiline
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_module'  Name.Function
+'('           Punctuation
+'library'     Name.Function
+'('           Punctuation
+'mcintyre'    Literal.String.Atom
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n\n'        Text
+
+':-'          Operator
+' '           Text
+'if'          Name.Function
+'('           Punctuation
+'current_predicate' Name.Function
+'('           Punctuation
+'use_rendering' Literal.String.Atom
+'/'           Operator
+'1'           Literal.Number.Integer
+')'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'use_rendering' Name.Function
+'('           Punctuation
+'c3'          Literal.String.Atom
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'endif'       Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'mc'          Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+':-'          Operator
+' '           Text
+'begin_lpad'  Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'coin'        Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'finite'      Name.Builtin
+'('           Punctuation
+'['           Punctuation
+'0.95'        Literal.Number.Float
+':'           Operator
+'true'        Literal.String.Atom
+','           Punctuation
+'0.05'        Literal.Number.Float
+':'           Operator
+'false'       Literal.String.Atom
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'agpa'        Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'beta'        Name.Builtin
+'('           Punctuation
+'8'           Literal.Number.Integer
+','           Punctuation
+'2'           Literal.Number.Integer
+')'           Punctuation
+' '           Text
+':='          Operator
+' '           Text
+'coin'        Literal.String.Atom
+'~='          Operator
+'true'        Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'american_gpa' Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'finite'      Name.Builtin
+'('           Punctuation
+'['           Punctuation
+'0.85'        Literal.Number.Float
+':'           Operator
+'4.0'         Literal.Number.Float
+','           Punctuation
+'0.15'        Literal.Number.Float
+':'           Operator
+'0.0'         Literal.Number.Float
+']'           Punctuation
+')'           Punctuation
+' '           Text
+':='          Operator
+' '           Text
+'coin'        Literal.String.Atom
+'~='          Operator
+'false'       Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'american_gpa' Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'val'         Name.Builtin
+'('           Punctuation
+'V'           Name.Variable
+')'           Punctuation
+' '           Text
+':='          Operator
+' '           Text
+'agpa'        Literal.String.Atom
+' '           Text
+'~='          Operator
+'A'           Name.Variable
+','           Punctuation
+' '           Text
+'V'           Name.Variable
+' '           Text
+'is'          Operator
+' '           Text
+'A'           Name.Variable
+'*'           Operator
+'4.0'         Literal.Number.Float
+'.'           Punctuation
+'\n\n'        Text
+
+'coin2'       Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'finite'      Name.Builtin
+'('           Punctuation
+'['           Punctuation
+'0.99'        Literal.Number.Float
+':'           Operator
+'true'        Literal.String.Atom
+','           Punctuation
+'0.01'        Literal.Number.Float
+':'           Operator
+'false'       Literal.String.Atom
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n'          Text
+
+'igpa'        Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'beta'        Name.Builtin
+'('           Punctuation
+'5'           Literal.Number.Integer
+','           Punctuation
+'5'           Literal.Number.Integer
+')'           Punctuation
+' '           Text
+':='          Operator
+' '           Text
+'coin2'       Literal.String.Atom
+'~='          Operator
+'true'        Literal.String.Atom
+'.'           Punctuation
+'\n'          Text
+
+'indian_gpa'  Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'finite'      Name.Builtin
+'('           Punctuation
+'['           Punctuation
+'0.1'         Literal.Number.Float
+':'           Operator
+'0.0'         Literal.Number.Float
+','           Punctuation
+'0.9'         Literal.Number.Float
+':'           Operator
+'10.0'        Literal.Number.Float
+']'           Punctuation
+')'           Punctuation
+' '           Text
+':='          Operator
+' '           Text
+'coin2'       Literal.String.Atom
+'~='          Operator
+'false'       Literal.String.Atom
+'.'           Punctuation
+'\n\n'        Text
+
+'indian_gpa'  Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'val'         Name.Builtin
+'('           Punctuation
+'V'           Name.Variable
+')'           Punctuation
+' '           Text
+':='          Operator
+' '           Text
+'igpa'        Literal.String.Atom
+' '           Text
+'~='          Operator
+'A'           Name.Variable
+','           Punctuation
+' '           Text
+'V'           Name.Variable
+' '           Text
+'is'          Operator
+' '           Text
+'A'           Name.Variable
+'*'           Operator
+'10.0'        Literal.Number.Float
+'.'           Punctuation
+'\n\n'        Text
+
+'nation'      Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'finite'      Name.Builtin
+'('           Punctuation
+'['           Punctuation
+'0.25'        Literal.Number.Float
+':'           Operator
+'a'           Literal.String.Atom
+','           Punctuation
+'0.75'        Literal.Number.Float
+':'           Operator
+'i'           Literal.String.Atom
+']'           Punctuation
+')'           Punctuation
+'.'           Punctuation
+'\n\n'        Text
+
+'student_gpa' Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'val'         Name.Builtin
+'('           Punctuation
+'A'           Name.Variable
+')'           Punctuation
+' '           Text
+':='          Operator
+' '           Text
+'nation'      Literal.String.Atom
+'~='          Operator
+'a'           Literal.String.Atom
+','           Punctuation
+'american_gpa' Literal.String.Atom
+'~='          Operator
+'A'           Name.Variable
+'.'           Punctuation
+'\n'          Text
+
+'student_gpa' Literal.String.Atom
+' '           Text
+'~'           Operator
+' '           Text
+'val'         Name.Builtin
+'('           Punctuation
+'I'           Name.Variable
+')'           Punctuation
+' '           Text
+':='          Operator
+' '           Text
+'nation'      Literal.String.Atom
+'~='          Operator
+'i'           Literal.String.Atom
+','           Punctuation
+'indian_gpa'  Literal.String.Atom
+'~='          Operator
+'I'           Name.Variable
+'.'           Punctuation
+'\n\n\n'      Text
+
+':-'          Operator
+' '           Text
+'end_lpad'    Literal.String.Atom
+'.'           Punctuation
+'\n\n\n'      Text
+
+'/*'          Comment.Multiline
+'*'           Comment.Multiline
+' <examples>\n?- mc_lw_sample(nation(a),student_gpa(4.0),1000,PPost).\n% probability that the nation is America given that the student got 4.0\n% in his GPA\n% expected result: 1.0\n?- mc_sample(nation(a),1000,PPrior).\n% prior probability that the nation is America \n% expected result: 0.25\n' Comment.Multiline
+
+'*/'          Comment.Multiline
+'\n \n'       Text
index f05e928976e063294c836afa5a833ca169e9507e..7e14dfd2c40369c58b7522f03f7e14ea6b9fca03 100644 (file)
 '('           Punctuation
 'herald'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"Yahalom Protocol with Forwarding Removed"' Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defprotocol' Keyword
-' '           Text
+' '           Text.Whitespace
 'yahalom'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'basic'       Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'defrole'     Keyword
-' '           Text
+' '           Text.Whitespace
 'init'        Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'vars'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n-a'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'text'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'skey'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'trace'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'send'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cat'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-a'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'recv'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enc'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-a'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'send'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enc'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'defrole'     Keyword
-' '           Text
+' '           Text.Whitespace
 'resp'        Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'vars'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n-a'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'text'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'skey'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'trace'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recv'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cat'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-a'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'send'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cat'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enc'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-a'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'recv'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enc'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'recv'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enc'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'defrole'     Keyword
-' '           Text
+' '           Text.Whitespace
 'serv'        Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'vars'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n-a'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'text'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'skey'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'trace'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recv'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cat'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enc'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-a'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'send'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enc'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-a'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'send'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'enc'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'uniq-orig'   Keyword
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defskeleton' Keyword
-' '           Text
+' '           Text.Whitespace
 'yahalom'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'vars'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n-b'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'text'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'defstrand'   Keyword
-' '           Text
+' '           Text.Whitespace
 'resp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n-b'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'non-orig'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'uniq-orig'   Keyword
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Ensure encryption key remains secret.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defskeleton' Keyword
-' '           Text
+' '           Text.Whitespace
 'yahalom'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'vars'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n-b'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'text'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'skey'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'defstrand'   Keyword
-' '           Text
+' '           Text.Whitespace
 'resp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n-b'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'deflistener' Keyword
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'non-orig'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ltk'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'uniq-orig'   Keyword
-' '           Text
+' '           Text.Whitespace
 'n-b'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index f1f6efe267a5124859e6ddf87ce515a2cdfb502f..748117a61af0cc059bec3add56a1a2fbf5f46d8a 100644 (file)
@@ -1,41 +1,43 @@
-'// Greeter example from\n' Comment.Single
+'// Greeter example from' Comment.Single
+'\n'          Text.Whitespace
 
-'// <http://www.dartlang.org/docs/getting-started/interface.html>\n' Comment.Single
+'// <http://www.dartlang.org/docs/getting-started/interface.html>' Comment.Single
+'\n'          Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Greeter'     Name.Class
-' '           Text
+' '           Text.Whitespace
 'implements'  Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Comparable'  Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'String'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Hello,'      Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'Greeter'     Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'Greeter'     Name
 '.'           Punctuation
 'withPrefix'  Name
 'prefix'      Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'greet'       Name
 '('           Punctuation
 'String'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'print'       Name
 '('           Punctuation
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'compareTo'   Name
 '('           Punctuation
 'Greeter'     Name
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name
 '.'           Punctuation
 'compareTo'   Name
 'prefix'      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
 'main'        Name
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'Greeter'     Name
-' '           Text
+' '           Text.Whitespace
 'greeter'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Greeter'     Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'Greeter'     Name
-' '           Text
+' '           Text.Whitespace
 'greeter2'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Greeter'     Name
 '.'           Punctuation
 'withPrefix'  Name
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'num'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'greeter2'    Name
 '.'           Punctuation
 'compareTo'   Name
 'greeter'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'greeter2'    Name
 '.'           Punctuation
 'greet'       Name
 "'"           Literal.String.Single
 ')'           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
 'greeter2'    Name
 '.'           Punctuation
 'greet'       Name
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 2474f3ade3e30640f6038a22f778ed65cbe3bb45..da693797002e35bce1fdd0d95f741611cda6fc60 100644 (file)
@@ -1,16 +1,16 @@
 '<%@'         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'Control'     Name.Other
-' '           Text
+' '           Text.Whitespace
 'Name'        Name.Other
 '='           Operator
 '"MyApp.MyJbstControl"' Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 'Language'    Name.Other
 '='           Operator
 '"JavaScript"' Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '\n\n'        Text
 
 '"text/javascript"' Literal.String
 '>'           Punctuation
 ''            Text
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '/* initialization code block, executed only once as control is loaded */' Comment.Multiline
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'generateValue' Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'Date'        Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '<'           Punctuation
 '/'           Punctuation
 
 '<%!'         Name.Tag
 ''            Text
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/* initialization code block, executed only once as control is loaded */' Comment.Multiline
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/* alternate syntax to script block above */' Comment.Multiline
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'myInitTime'  Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'generateValue' Name.Other
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%>'          Name.Tag
 '\n\n'        Text
 
 '<%'          Name.Tag
 ''            Text
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/* data binding code block, executed each time as control is data bound */' Comment.Multiline
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'myBindTime'  Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'generateValue' Name.Other
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%>'          Name.Tag
 '\n\n'        Text
 
 '<%'          Name.Tag
 '--'          Operator
-' '           Text
+' '           Text.Whitespace
 'JBST'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'Comment'     Name.Other
-' '           Text
+' '           Text.Whitespace
 '--'          Operator
 '%>'          Name.Tag
 '\n'          Text
 '>'           Punctuation
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'myBindTime'  Name.Other
-' '           Text
+' '           Text.Whitespace
 '/* data binding expression */' Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '<'           Punctuation
 '/'           Punctuation
 '>'           Punctuation
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'myInitTime'  Name.Other
-' '           Text
+' '           Text.Whitespace
 '/* data binding expression */' Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '<'           Punctuation
 '/'           Punctuation
 '>'           Punctuation
 '<%'          Name.Tag
 '$'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'Resources'   Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'localizationKey' Name.Other
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '<%'          Name.Tag
 '--'          Operator
-' '           Text
+' '           Text.Whitespace
 'JBST'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'globalization' Name.Other
 '--'          Operator
 '%>'          Name.Tag
index 36eb214de97f8ade2bc5dd24eeeefc70e2e30f69..dd7d3e9dbf6da9684a4848e6437e7db9787030b1 100644 (file)
@@ -1,16 +1,16 @@
 '<%@'         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'Control'     Name.Other
-' '           Text
+' '           Text.Whitespace
 'Name'        Name.Other
 '='           Operator
 '"Foo.MyZebraList"' Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 'Language'    Name.Other
 '='           Operator
 '"JavaScript"' Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '\n\n'        Text
 
 '"text/javascript"' Literal.String
 '>'           Punctuation
 ''            Text
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '/* private members ------------------------------------------ */' Comment.Multiline
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '/*int*/'     Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'digits'      Name.Other
 '('           Punctuation
 '/*int*/'     Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 "'0'"         Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Other
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Other
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '}'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '/* public members ------------------------------------------- */' Comment.Multiline
-'\n\n\t'      Text
-'// use the item index to alternate colors and highlight\n' Comment.Single
-
-''            Text
-'\t'          Text
+'\n\n\t'      Text.Whitespace
+'// use the item index to alternate colors and highlight' Comment.Single
+'\n\t'        Text.Whitespace
 '/*string*/'  Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'zebraStripe' Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
 '('           Punctuation
 '/*bool*/'    Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'selected'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/*int*/'     Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/*int*/'     Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'css'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"item"'      Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 ']'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'index'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'css'         Name.Other
 '.'           Punctuation
 'push'        Name.Other
 '"item-alt"'  Literal.String.Double
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'selected'    Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'css'         Name.Other
 '.'           Punctuation
 'push'        Name.Other
 '"item-selected"' Literal.String.Double
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '}'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'css'         Name.Other
 '.'           Punctuation
 'join'        Name.Other
 '" "'         Literal.String.Double
 ')'           Punctuation
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '/*string*/'  Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'formatTime'  Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
 '('           Punctuation
 '/*Date*/'    Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Other
 '.'           Punctuation
 'getHours'    Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "':'"         Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'digits'      Name.Other
 '('           Punctuation
 'time'        Name.Other
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "':'"         Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'digits'      Name.Other
 '('           Punctuation
 'time'        Name.Other
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '<'           Punctuation
 '/'           Punctuation
 '>'           Punctuation
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'data'        Name.Other
 '.'           Punctuation
 'title'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 ' as of '     Text
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'formatTime'  Name.Other
 '.'           Punctuation
 'timestamp'   Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '!'           Text
 '<'           Punctuation
 '>'           Punctuation
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'data'        Name.Other
 '.'           Punctuation
 'description' Name.Other
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '<'           Punctuation
 '/'           Punctuation
 '"'           Literal.String
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'data'        Name.Other
 'children'    Name.Other
 '.'           Punctuation
 'length'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '">\n\n\t\t'  Text
 '<!-- anonymous inner template -->' Comment.Multiline
 '"'           Literal.String
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'data'        Name.Other
 '.'           Punctuation
 'children'    Name.Other
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '">\n\t\t\t'  Text
 "<!-- populate list item for each item of the parent's children property -->" Comment.Multiline
 '"'           Literal.String
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Other
 '.'           Punctuation
 'MyZebraList' Name.Other
 '.'           Punctuation
 'selected'    Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'index'       Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'count'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 '">\n\t\t\t\t' Text
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'data'        Name.Other
 '.'           Punctuation
 'label'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 ' ('          Text
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'index'       Name.Other
 '+'           Operator
 '1'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 ' of '        Text
 '<%='         Name.Tag
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 '.'           Punctuation
 'count'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '%>'          Name.Tag
 ')\n\t\t\t'   Text
 '<'           Punctuation
index 37520c870505039f418ed351f57d30f11fb96441..4cf2691a9e5ab50116f1c8fa3fad1149d5417f74 100644 (file)
@@ -1,28 +1,30 @@
-';; filepath tests\n' Comment
+';; filepath tests' Comment
+'\n'          Text.Whitespace
 
 'require'     Keyword.Pseudo
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'library'     Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 './'          Text.Whitespace
 'awesome'     Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 './variable/greatness/' Text.Whitespace
 'file'        Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; Strings\n' Comment
+';; Strings'  Comment
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'H'           Literal.String
@@ -38,7 +40,7 @@
 'd'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'H'           Literal.String
@@ -55,7 +57,7 @@
 'd'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
 's'           Literal.String
@@ -84,7 +86,7 @@
 ' '           Text
 '}'           Literal.String.Interpol
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var '        Keyword.Control
 'dstring'     Name.Variable
 '='           Operator.Word
 ' '           Text
 '.dotted-string' Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'key-dash'    Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'but-can-it-do-ops' Name.Symbol
 ' '           Text
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'yes-it-can'  Keyword.Control
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text
 '100'         Literal.Number.Integer
 ' '           Text
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '         '   Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'S'           Literal.String
 'o'           Literal.String
 'l'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '         '   Text
 '100'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text
 '{'           Punctuation
 '}'           Punctuation
 ' '           Text
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'jiminy-crickets' Keyword.Control
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '            ' Text
 'oliver-twist' Name.Symbol
 'mr-bojangles' Name.Symbol
 ' '           Text
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '               ' Text
 'kittens'     Name.Variable
 ' '           Text
 '='           Operator.Word
-'\n'          Text
+'\n'          Text.Whitespace
 
 '                  ' Text
 '12'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'check-it'    Name.Symbol
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'still-works' Keyword.Control
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text
 '{'           Punctuation
 'map'         Name.Function
 ' '           Text
 'with'        Operator.Word
-'\n'          Text
+'\n'          Text.Whitespace
 
 '         '   Text
 'x'           Name.Symbol
 '*'           Operator
 ' '           Text
 'x'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text
 '('           Punctuation
 '+'           Operator
 ' '           Text
 'this'        Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if '         Keyword.Control
 'total '      Keyword.Control
 'great '      Keyword.Control
 'stupidity'   Name.Symbol
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'Y'           Literal.String
 'o'           Literal.String
 'n'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'not-sure-what-this-does' Name.Symbol
 '@@'          Operator
 ' '           Text
 'but-it-wont-capture' Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else'        Keyword.Pseudo
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'K'           Literal.String
 'e'           Literal.String
 'g'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'needs-work'  Name.Symbol
 '++'          Operator
 ' '           Text
 'you'         Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; with tests\n' Comment
+';; with tests' Comment
+'\n'          Text.Whitespace
 
 'needs-obj'   Name.Symbol
 '('           Punctuation
 "'"           Literal.String
 ')'           Punctuation
 ' '           Text
-'with '       Keyword.Control
+'with'        Keyword.Control
+' '           Text.Whitespace
 '{'           Punctuation
 '"'           Literal.String
 'g'           Literal.String
 's'           Literal.String
 '"'           Literal.String
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Name.Symbol
 '.'           Punctuation
 '.'           Punctuation
 'method'      Name.Function
 ' '           Text
-'with '       Keyword.Control
+'with'        Keyword.Control
+' '           Text.Whitespace
 '{'           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text
 '3'           Literal.Number.Integer
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; object assignment\n' Comment
+';; object assignment' Comment
+'\n'          Text.Whitespace
 
 'obj'         Name.Variable
 ' '           Text
 '='           Operator.Word
 ' '           Text
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'key'         Name.Variable
 'a'           Literal.String
 'h'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'tree'        Name.Variable
 'a'           Literal.String
 'h'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'obj'         Name.Symbol
 '.'           Punctuation
 '='           Operator.Word
 ' '           Text
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'that'        Name.Variable
 's'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'thatFunc'    Name.Variable
 '->'          Name.Function
 ' '           Text
 'x'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; match statements\n' Comment
+';; match statements' Comment
+'\n'          Text.Whitespace
 
 'match '      Keyword.Control
 '@awesome'    Name.Variable.Instance
 '.'           Punctuation
 'great'       Name.Field
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 '{'           Punctuation
 ' '           Text
 'tail'        Name.Symbol
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'Array'       Keyword.Type
 '('           Punctuation
 '.arr'        Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'String'      Keyword.Type
 '('           Punctuation
 '.str'        Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'else'        Keyword.Pseudo
 '!'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'unimpl-func' Name.Variable
 ' '           Text
 '->'          Name.Function
 ' '           Text
 'pass'        Keyword.Pseudo
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; if / elif / else test\n' Comment
+';; if / elif / else test' Comment
+'\n'          Text.Whitespace
 
 'if '         Keyword.Control
 'coolness'    Name.Symbol
 ' '           Text
 '11'          Literal.Number.Integer
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'add '        Keyword.Control
 ':'           Punctuation
 ' '           Text
 'something-else' Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'elif '       Keyword.Control
 'true'        Name.Constant
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'add '        Keyword.Control
 ':'           Punctuation
 ' '           Text
 'something-else' Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else'        Keyword.Pseudo
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'add '        Keyword.Control
 ':'           Punctuation
 ' '           Text
 'the-castle'  Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; nested if / elif / else test\n' Comment
+';; nested if / elif / else test' Comment
+'\n'          Text.Whitespace
 
 'mad-function' Name.Variable
 ' '           Text
 'bananas'     Name.Symbol
 ' '           Text
 '->'          Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'if '         Keyword.Control
 ' '           Text
 '5'           Literal.Number.Integer
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'Y'           Literal.String
 'o'           Literal.String
 's'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'elif '       Keyword.Control
 ' '           Text
 '5'           Literal.Number.Integer
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'Y'           Literal.String
 'o'           Literal.String
 'a'           Literal.String
 's'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'   '         Text
+'   '         Text.Whitespace
 'else'        Keyword.Control
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'G'           Literal.String
 'o'           Literal.String
 'w'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; class test\n' Comment
+';; class test' Comment
+'\n'          Text.Whitespace
 
 'class '      Keyword.Control
 'Dog'         Name.Symbol
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'constructor' Name.Builtin
 ')'           Punctuation
 ' '           Text
 '='           Operator.Word
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text
 'this'        Keyword.Constant
 '='           Operator.Word
 ' '           Text
 '100'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'unimpl-meth' Name.Variable
 '->'          Name.Function
 ' '           Text
 'pass'        Keyword.Pseudo
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'bark'        Name.Symbol
 ' '           Text
 'sd'          Name.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; error test\n' Comment
+';; error test' Comment
+'\n'          Text.Whitespace
 
 'try'         Name.Symbol
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 'throw '      Keyword.Control
 '.'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'catch '      Keyword.Control
 'TypeError'   Name.Exception
 ' '           Text
 'e'           Name.Symbol
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'T'           Literal.String
 'h'           Literal.String
 'r'           Literal.String
 '.'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'catch '      Keyword.Control
 'E.my-error'  Name.Exception
 ' '           Text
 'e'           Name.Symbol
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'M'           Literal.String
 'y'           Literal.String
 'r'           Literal.String
 '!'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'catch '      Keyword.Control
 'e'           Name.Symbol
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'S'           Literal.String
 'o'           Literal.String
 'r'           Literal.String
 '.'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'finally'     Name.Symbol
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
-'print '      Keyword.Control
+'print'       Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'W'           Literal.String
 'e'           Literal.String
 'e'           Literal.String
 '.'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; method shorthand operator\n' Comment
+';; method shorthand operator' Comment
+'\n'          Text.Whitespace
 
 'stream-of-twos' Name.Variable
 ' '           Text
 '='           Operator.Word
 ' '           Text
 '*->'         Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
-'while '      Keyword.Control
+'while'       Keyword.Control
+' '           Text.Whitespace
 '['           Punctuation
 'true'        Name.Constant
 ']'           Punctuation
 ':'           Punctuation
 ' '           Text
-'yield '      Keyword.Control
+'yield'       Keyword.Control
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ' '           Text
-';; need to fix literals with colons after them.\n' Comment
+';; need to fix literals with colons after them.' Comment
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; gen shorthand operator\n' Comment
+';; gen shorthand operator' Comment
+'\n'          Text.Whitespace
 
 'full-name'   Name.Variable
 ' '           Text
 '='           Operator.Word
 ' '           Text
 '@->'         Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 "'"           Literal.String
 '@last-name'  Name.Variable.Instance
 '}'           Literal.String.Interpol
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'name-method' Name.Variable
 ' '           Text
 '='           Operator.Word
 ' '           Text
 '@->'         Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '   '         Text
 '@name'       Name.Variable.Instance
 'full-name'   Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; Keyword highlight test\n' Comment
+';; Keyword highlight test' Comment
+'\n'          Text.Whitespace
 
 'key '        Keyword.Control
 'x'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'key '        Keyword.Control
 '+'           Operator
 ' '           Text
 ';'           Punctuation
 ' '           Text
-'key '        Keyword.Control
+'key'         Keyword.Control
+' '           Text.Whitespace
 '"'           Literal.String
 'x'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
 ' '           Text
-'key '        Keyword.Control
+'key'         Keyword.Control
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
 ' '           Text
 '.asdasd'     Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
-'key '        Keyword.Control
+'key'         Keyword.Control
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Symbol
 ')'           Punctuation
 ';'           Punctuation
 ' '           Text
-'key '        Keyword.Control
+'key'         Keyword.Control
+' '           Text.Whitespace
 '['           Punctuation
 'x'           Name.Symbol
 ']'           Punctuation
 ';'           Punctuation
 ' '           Text
-'key '        Keyword.Control
+'key'         Keyword.Control
+' '           Text.Whitespace
 '{'           Punctuation
 'x'           Name.Symbol
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nokey'       Name.Symbol
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name.Symbol
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'key '        Keyword.Control
 'x'           Name.Symbol
 '+'           Operator
 ' '           Text
 'y'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'key '        Keyword.Control
 'key '        Keyword.Control
 'x'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Symbol
 ' '           Text
 ' '           Text
 'key '        Keyword.Control
 'y'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Symbol
 ' '           Text
 ' '           Text
 'key '        Keyword.Control
 'y'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nokey'       Name.Symbol
 ' '           Text
 '+'           Operator
 ' '           Text
 'x'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nokey'       Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'key'         Name.Symbol
 ':'           Punctuation
 ' '           Text
 'x'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'key '        Keyword.Control
 'nokey'       Name.Symbol
 ':'           Punctuation
 ' '           Text
 'y'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'key '        Keyword.Control
 'x'           Name.Symbol
 ':'           Punctuation
 ' '           Text
 'z'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Symbol
 ' '           Text
 ':'           Punctuation
 ' '           Text
 'z'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Symbol
 ' '           Text
-'and '        Keyword.Control
+'and'         Keyword.Control
+' '           Text.Whitespace
 '{'           Punctuation
 'y'           Name.Symbol
 ','           Punctuation
 ' '           Text
 'z'           Name.Symbol
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Symbol
 ' '           Text
 ':'           Punctuation
 ' '           Text
 'y'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Symbol
 ' '           Text
 ':'           Punctuation
 ' '           Text
 'y'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Variable
 ' '           Text
 '='           Operator.Word
-' '           Text
+' '           Text.Whitespace
 'key'         Keyword.Control
 ':'           Punctuation
 ' '           Text
 'y'           Name.Symbol
 ' '           Text
-';; comments work after keywords!\n' Comment
+';; comments work after keywords!' Comment
+'\n'          Text.Whitespace
 
 'x'           Name.Symbol
 ' '           Text
 ':'           Punctuation
 ' '           Text
 'y'           Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Symbol
 ' '           Text
 ' '           Text
 'k'           Name.Symbol
 ' '           Text
-';;\n'        Comment
+';;'          Comment
+'\n'          Text.Whitespace
 
 'a'           Name.Symbol
 '.'           Punctuation
 '.'           Punctuation
 'f'           Name.Field
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name.Symbol
 '.'           Punctuation
 '.'           Punctuation
 'f'           Name.Field
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#a'          Name.Namespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nokey'       Name.Symbol
-' '           Text
+' '           Text.Whitespace
 'mod'         Keyword.Control
 ':'           Punctuation
 ' '           Text
 'y'           Name.Symbol
 ' '           Text
-';; do not highlight nokey\n' Comment
+';; do not highlight nokey' Comment
+'\n'          Text.Whitespace
 
-';; because mod is an operator\n' Comment
+';; because mod is an operator' Comment
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; Highlight all of these:\n' Comment
+';; Highlight all of these:' Comment
+'\n'          Text.Whitespace
 
 'await'       Keyword.Pseudo
 ';'           Punctuation
 ' '           Text
 'continue'    Keyword.Pseudo
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword.Control
 ':'           Punctuation
 ';'           Punctuation
 ' '           Text
 'expr-value'  Keyword.Pseudo
-'\n'          Text
+'\n'          Text.Whitespace
 
 'match'       Keyword.Pseudo
 ';'           Punctuation
 ';'           Punctuation
 ' '           Text
 'yield'       Keyword.Pseudo
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; Edge-case highlighting test\n' Comment
+';; Edge-case highlighting test' Comment
+'\n'          Text.Whitespace
 
 'key-word'    Name.Symbol
 ':'           Punctuation
 ' '           Text
 'xyz'         Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nokey'       Name.Symbol
 ' '           Text
 ':'           Punctuation
 ' '           Text
 'yz'          Name.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-';; Some keywords may contain operators as a subpart. If your regexp\n' Comment
+';; Some keywords may contain operators as a subpart. If your regexp' Comment
+'\n'          Text.Whitespace
 
-';; uses \\b to single out operators like each, is or in, you may\n' Comment
+';; uses \\b to single out operators like each, is or in, you may' Comment
+'\n'          Text.Whitespace
 
-';; fail to highlight these properly:\n' Comment
+';; fail to highlight these properly:' Comment
+'\n'          Text.Whitespace
 
 'beaches'     Name.Symbol
 '           ' Text
-';; Do not highlight each inside the word beaches\n' Comment
+';; Do not highlight each inside the word beaches' Comment
+'\n'          Text.Whitespace
 
 'each-thing'  Name.Symbol
 '        '    Text
-';; Do not highlight each\n' Comment
+';; Do not highlight each' Comment
+'\n'          Text.Whitespace
 
 'sleep-in'    Name.Symbol
 '          '  Text
-';; Do not highlight in\n' Comment
+';; Do not highlight in' Comment
+'\n'          Text.Whitespace
 
 'before-each' Name.Symbol
 ':'           Punctuation
 ' '           Text
 'xyz'         Name.Symbol
 '  '          Text
-';; Highlight before-each as a keyword\n' Comment
+';; Highlight before-each as a keyword' Comment
+'\n'          Text.Whitespace
 
 'is-great'    Name.Symbol
 ':'           Punctuation
 ' '           Text
 'xyz'         Name.Symbol
 '     '       Text
-';; Highlight is-great as a keyword\n' Comment
+';; Highlight is-great as a keyword' Comment
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'send'        Name.Builtin
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 9cdcc6fe2bd73ec3181333bd53ed29a42509694c..ae23e3030a2abc355bda18c884546b0dbd0eea73 100644 (file)
 'case'        Keyword
 ' '           Text.Whitespace
 '0'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'case'        Keyword
 ' '           Text.Whitespace
 '1'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'case'        Keyword
 ' '           Text.Whitespace
 '2'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'case'        Keyword
 ' '           Text.Whitespace
 '3'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'case'        Keyword
 ' '           Text.Whitespace
 '0'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'case'        Keyword
 ' '           Text.Whitespace
 '1'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'case'        Keyword
 ' '           Text.Whitespace
 '2'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'case'        Keyword
 ' '           Text.Whitespace
 '3'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'anchor'      Name
 '.'           Punctuation
 'case'        Keyword
 ' '           Text.Whitespace
 '0'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '               ' Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
 '1'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '               ' Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
 '2'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 '\n'          Text.Whitespace
 
 'case'        Keyword
 ' '           Text.Whitespace
 '3'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 '\n'          Text.Whitespace
 
index 017e7a3e7b2337e2d8f63aeb56b292d07fa9176f..627d131dcc670ba7d082874c8a4dc445588f3e9f 100644 (file)
@@ -1,83 +1,83 @@
 ';;; subr.el --- basic lisp subroutines for Emacs  -*- coding: utf-8; lexical-binding:t -*-' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2015 Free Software' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Foundation, Inc.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Maintainer: emacs-devel@gnu.org' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Keywords: internal' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Package: emacs' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; This file is part of GNU Emacs.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; GNU Emacs is free software: you can redistribute it and/or modify' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; it under the terms of the GNU General Public License as published by' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; the Free Software Foundation, either version 3 of the License, or' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (at your option) any later version.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; GNU Emacs is distributed in the hope that it will be useful,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; but WITHOUT ANY WARRANTY; without even the implied warranty of' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; GNU General Public License for more details.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; You should have received a copy of the GNU General Public License' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Commentary:' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Code:'   Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; Beware: while this file has tag `utf-8', before it's compiled, it gets" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; loaded as "raw-text", so non-ASCII chars won\'t work right during bootstrap.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'declare-function' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '_fn'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '_file'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 '_arglist'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '_fileonly'   Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Tell the byte-compiler that function FN is defined, in FILE.\nOptional ARGLIST is the argument list used by the function.\nThe FILE argument is not used by the byte-compiler, but by the\n' Literal.String
 
 '`'           Literal.String
 "(elisp)Declaring Functions'." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Does nothing - byte-compile-declare-function does the work.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Basic Lisp macros.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'not"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'null"       Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'noreturn'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'form'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Evaluate FORM, expecting it not to return.\nIf FORM does return, signal an error.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'prog1'       Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'form'        Name.Variable
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Form marked with ' Literal.String
 "`noreturn'"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '1value'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'form'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Evaluate FORM, expecting a constant return value.\nThis is the global do-nothing version.  There is also ' Literal.String
 "`testcover-1value'" Literal.String.Symbol
 '\nthat complains if FORM ever does return differing values.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'form'        Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'def-edebug-spec' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Set the '    Literal.String
 "`edebug-form-spec'" Literal.String.Symbol
 '`'           Literal.String
 "(elisp)Specification List' for details." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'symbol'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'edebug-form-spec" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'cdr'         Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a lambda expression.\nA call of the form (lambda ARGS DOCSTRING INTERACTIVE BODY) is\nself-quoting; the result of evaluating the lambda expression is the\nexpression itself.  The lambda expression may then be treated as a\nfunction, i.e., stored as the function value of a symbol, passed to\n' Literal.String
 
 '\\('         Literal.String
 'fn ARGS [DOCSTRING] [INTERACTIVE] BODY)' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'doc-string'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'defun'       Name.Builtin
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&define'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'lambda-list' Name.Variable
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '['           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'stringp'     Name.Function
 ']'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '['           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 'interactive' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'interactive' Keyword
 ')'           Punctuation
 ']'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 'def-body'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Note that this definition should not use backquotes; subr.el should not' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; depend on backquote.el.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'function"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'lambda"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'cdr'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'setq-local'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'var'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Set variable VAR to value VAL in current buffer.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; Can't use backquote here, it's too early in the bootstrap." Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'set"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'make-local-variable" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'quote"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'defvar-local' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'var'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'docstring'   Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Define VAR as a buffer-local variable with default value VAL.\nLike ' Literal.String
 "`defvar'"    Literal.String.Symbol
 ' but additionally marks the variable as being automatically\nbuffer-local wherever it is set.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'defvar'      Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'doc-string'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; Can't use backquote here, it's too early in the bootstrap." Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'progn"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'defvar"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'var'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'docstring'   Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'make-variable-buffer-local" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'quote"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'apply-partially' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fun'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a function that is a partial application of FUN to ARGS.\nARGS is a list of the first N arguments to pass to FUN.\nThe result is a new function which does the same as FUN, except that\nthe first N arguments are fixed at the values with which this function\nwas called.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args2'       Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'fun'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args2'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'newelt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Add NEWELT to the list stored in the generalized variable PLACE.\nThis is morally equivalent to (setf PLACE (cons NEWELT PLACE)),\nexcept that PLACE is only evaluated once (after NEWELT).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'form'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'gv-place'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Important special case, to avoid triggering GV too early in' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; the bootstrap.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'setq"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'cons"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'newelt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'require'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'macroexp"   Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'macroexp-let2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'macroexp-copyable-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newelt'      Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'gv-letplace' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'setter'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'setter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'getter'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'place'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Return the first element of PLACE's value, and remove it from the list.\nPLACE must be a generalized variable whose value is a list.\nIf the value is nil, " Literal.String
 "`pop'"       Literal.String.Symbol
 ' returns nil but does not actually\nchange the list.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'gv-place'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; We use `car-safe' here instead of `car' because the behavior is the same" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; (if it's not a cons cell, the `cdr' would have signaled an error already)," Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; but `car-safe' is total, so the byte-compiler can safely remove it if the" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; result is not used.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'car-safe'    Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 ','           Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ";; So we can use `pop' in the bootstrap before `gv' can be used." Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'prog1"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'setq"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'cdr"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'gv-letplace' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'getter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'setter'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'place'       Name.Variable
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'macroexp-let2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'macroexp-copyable-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'getter'      Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'prog1'       Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'setter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'If COND yields non-nil, do BODY, else return nil.\nWhen COND yields non-nil, eval BODY forms sequentially and return\nvalue of last one, or nil if there are none.\n\n' Literal.String
 
 '\\('         Literal.String
 'fn COND BODY...)' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'if"         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'progn"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'If COND yields nil, do BODY, else return nil.\nWhen COND yields nil, eval BODY forms sequentially and return\nvalue of last one, or nil if there are none.\n\n' Literal.String
 
 '\\('         Literal.String
 'fn COND BODY...)' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'if"         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'spec'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Loop over a list.\nEvaluate BODY with VAR bound to each car from LIST, in turn.\nThen evaluate RESULT to get return value, default nil.\n\n' Literal.String
 
 '\\('         Literal.String
 'fn (VAR LIST [RESULT]) BODY...)' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; It would be cleaner to create an uninterned symbol,' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; but that uses a lot more space when many functions in many files' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; use dolist.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; FIXME: This cost disappears in byte-compiled lexical-binding files.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'--dolist-tail--" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; This is not a reliable test, but it does not matter because both' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; semantics are acceptable, tho one is slightly faster with dynamic' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; scoping and the other is slightly faster (and has cleaner semantics)' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; with lexical scoping.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'lexical-binding' Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dotimes'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'spec'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Loop a certain number of times.\nEvaluate BODY with VAR bound to successive integers running from 0,\ninclusive, to COUNT, exclusive.  Then evaluate RESULT to get\nthe return value (nil if RESULT is omitted).\n\n' Literal.String
 
 '\\('         Literal.String
 'fn (VAR COUNT [RESULT]) BODY...)' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dolist'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; It would be cleaner to create an uninterned symbol,' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; but that uses a lot more space when many functions in many files' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; use dotimes.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; FIXME: This cost disappears in byte-compiled lexical-binding files.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'--dotimes-limit--" Literal.String.Symbol
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; This is not a reliable test, but it does not matter because both' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; semantics are acceptable, tho one is slightly faster with dynamic' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; scoping and the other has cleaner semantics.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'lexical-binding' Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'counter'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'--dotimes-counter--" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'end'         Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 ','           Operator
 'counter'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'start'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'counter'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'counter'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'counter'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'counter'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ';; FIXME: This let often leads to "unused var" warnings.' Comment.Single
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'counter'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'cddr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'end'         Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'start'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 '_specs'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Do not evaluate any arguments, and return nil.\nIf a ' Literal.String
 "`declare'"   Literal.String.Symbol
 '`'           Literal.String
 "(elisp)Declare Form'." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; FIXME: edebug spec should pay attention to defun-declarations-alist.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'ignore-errors' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute BODY; if an error occurs, return nil.\nOtherwise, return result of last form in BODY.\nSee also ' Literal.String
 "`with-demoted-errors'" Literal.String.Symbol
 ' that does something similar\nwithout silencing all errors.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'condition-case' Keyword
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Basic Lisp functions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'ignore'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 '_ignore'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Do nothing and return nil.\nThis function accepts any number of arguments, but ignores them.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Signal a compile-error if the first arg is missing.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Signal an error, making error message by passing all args to ' Literal.String
 "`format'"    Literal.String.Symbol
 '.\nIn Emacs, the convention is that error messages start with a capital\nletter but *do not* end with a period.  Please follow this convention\nfor the sake of consistency.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'signal'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'error"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 "'format"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'user-error'  Name.Exception
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Signal a pilot error, making error message by passing all args to ' Literal.String
 "`format'"    Literal.String.Symbol
 "`user-error'" Literal.String.Symbol
 's are expected to be the\nresult of an incorrect manipulation on the part of the user, rather than the\nresult of an actual problem.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'signal'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'user-error" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'define-error' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Define NAME as a new error signal.\nMESSAGE is a string that will be output to the echo area if such an error\nis signaled without being caught by a ' Literal.String
 "`condition-case'" Literal.String.Symbol
 "`error'"     Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error"      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'conditions'  Name.Variable
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'append'      Name.Function
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'mapcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parent'      Name.Variable
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-'\n                                    ' Text
+'\n                                    ' Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error-conditions" Literal.String.Symbol
 ')'           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Unknown signal ' Literal.String
 "`%s'"        Literal.String.Symbol
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 'parent'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error-conditions" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error-conditions" Literal.String.Symbol
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'delete-dups' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'conditions'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'error-message" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; We put this here instead of in frame.el so that it's defined even on" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; systems where frame.el isn't loaded." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'frame-configuration-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if OBJECT seems to be a frame configuration.\nAny list whose car is ' Literal.String
 "`frame-configuration'" Literal.String.Symbol
 ' is assumed to be a frame\nconfiguration.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'frame-configuration" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; List functions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'caar'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the car of the car of X.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the car of the cdr of X.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'cdar'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the cdr of the car of X.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'cddr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the cdr of the cdr of X.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'last'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the last link of LIST.  Its car is the last element.\nIf LIST is nil, return nil.\nIf N is non-nil, return the Nth-to-last link of LIST.\nIf N is bigger than the length of LIST, return LIST.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'safe-length' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nthcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'nthcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'safe-length' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'butlast'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a copy of LIST with the last N elements removed.\nIf N is omitted or nil, the last element is removed from the\ncopy.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'nbutlast'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'nbutlast'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Modifies LIST to remove the last N elements.\nIf N is omitted or nil, remove the last element.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nthcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'number'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if NUMBER is zero.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; Used to be in C, but it's pointless since (= 0 n) is faster anyway because" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; = has a byte-code.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'compiler-macro' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '_'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'number'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'number'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'delete-dups' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Destructively remove ' Literal.String
 "`equal'"     Literal.String.Symbol
 "`equal'"     Literal.String.Symbol
 ' occurrences of an element in LIST, the first\none is kept.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'delete'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; See http://lists.gnu.org/archive/html/emacs-devel/2013-05/msg00204.html' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'delete-consecutive-dups' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'circular'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Destructively remove ' Literal.String
 "`equal'"     Literal.String.Symbol
 ' consecutive duplicates from LIST.\nFirst and last elements are considered consecutive if CIRCULAR is\nnon-nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'last'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'last'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'circular'    Name.Variable
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'last'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'nbutlast'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'number-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inc'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a sequence of numbers from FROM to TO (both inclusive) as a list.\nINC is the increment used between numbers in the sequence and defaults to 1.\nSo, the Nth element of the list is (+ FROM (* N INC)) where N counts from\nzero.  TO is only included if there is an N for which TO = FROM + N * INC.\nIf TO is nil or numerically equal to FROM, return (FROM).\nIf INC is positive and TO is less than FROM, or INC is negative\nand TO is larger than FROM, return nil.\nIf INC is zero and TO is neither nil nor numerically equal to\nFROM, signal an error.\n\nThis function is primarily designed for integer arguments.\nNevertheless, FROM, TO and INC can be integer or float.  However,\nfloating point arithmetic is inexact.  For instance, depending on\nthe machine, it may quite well happen that\n' Literal.String
 
 '\\('         Literal.String
 'or a slightly more negative value if INC is negative).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'inc'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'inc'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inc'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'The increment can not be zero' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'seq'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'next'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'inc'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'next'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'next'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 'next'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inc'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'next'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'next'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'next'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inc'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'copy-tree'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tree'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'vecp'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Make a copy of TREE.\nIf TREE is a cons cell, this recursively copies both its car and its cdr.\nContrast to ' Literal.String
 "`copy-sequence'" Literal.String.Symbol
 ', which copies only along the cdrs.  With second\nargument VECP, this copies vectors as well as conses.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'result'      Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'newcar'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vecp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vectorp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'newcar'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-tree'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vecp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'newcar'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'result'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'nconc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'result'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'vecp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vectorp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'aset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-tree'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vecp'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'tree'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Various list-search functions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'assoc-default' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Find object KEY in a pseudo-alist ALIST.\nALIST is a list of conses or objects.  Each element\n (or the element's car, if it is a cons) is compared with KEY by\n calling TEST, with two arguments: (i) the element or its car,\n and (ii) KEY.\nIf that is non-nil, the element matches; then " Literal.String
 "`assoc-default'" Literal.String.Symbol
 "`equal'"     Literal.String.Symbol
 ' is used.'   Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'found'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'equal"      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'assoc-ignore-case' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Like '       Literal.String
 "`assoc'"     Literal.String.Symbol
 ', but ignores differences in case and text representation.\nKEY must be a string.  Upper-case and lower-case letters are treated as equal.\nUnibyte strings are converted to multibyte for comparison.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'assoc-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'assoc-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'assoc-ignore-representation' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Like '       Literal.String
 "`assoc'"     Literal.String.Symbol
 ', but ignores differences in text representation.\nKEY must be a string.\nUnibyte strings are converted to multibyte for comparison.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'assoc-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'assoc-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'member-ignore-case' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Like '       Literal.String
 "`member'"    Literal.String.Symbol
 ', but ignore differences in case and text representation.\nELT must be a string.  Upper-case and lower-case letters are treated as equal.\nUnibyte strings are converted to multibyte for comparison.\nNon-strings in LIST are ignored.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'compare-strings' Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'assq-delete-all' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Delete from ALIST all elements whose car is ' Literal.String
 "`eq'"        Literal.String.Symbol
 ' to KEY.\nReturn the modified alist.\nElements of ALIST that are not conses are ignored.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'rassq-delete-all' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Delete from ALIST all elements whose cdr is ' Literal.String
 "`eq'"        Literal.String.Symbol
 ' to VALUE.\nReturn the modified alist.\nElements of ALIST that are not conses are ignored.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail-cdr'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'alist-get'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'remove'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Get the value associated to KEY in ALIST.\nDEFAULT is the value to return if KEY is not found in ALIST.\nREMOVE, if non-nil, means that when setting this element, we should\nremove the entry if the new value is ' Literal.String
 "`eql'"       Literal.String.Symbol
 ' to DEFAULT.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ignore'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'remove'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';;Silence byte-compiler.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'assq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'alist'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'remove'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a copy of SEQ with all occurrences of ELT removed.\nSEQ must be a list, vector, or string.  The comparison is done with ' Literal.String
 "`equal'"     Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nlistp'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";; If SEQ isn't a list, there's no need to copy SEQ because" Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";; `delete' will return a new object." Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'delete'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'delete'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'seq'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'remq'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return LIST with all occurrences of ELT removed.\nThe comparison is done with ' Literal.String
 "`eq'"        Literal.String.Symbol
 "`delq'"      Literal.String.Symbol
 ', this does not use\nside-effects, and the argument LIST is not modified.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'delq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Keymap support.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'kbd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keys'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Convert KEYS to the internal Emacs key representation.\nKEYS should be a string constant in the format used for\nsaving keyboard macros (see ' Literal.String
 "`edmacro-mode'" Literal.String.Symbol
 ').'          Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; Don't use a defalias, since the `pure' property is only true for" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; the calling convention of `kbd'." Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'read-kbd-macro' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keys'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 "'kbd"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'pure"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'undefined'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Beep to tell the user this binding is undefined.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'ding'        Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s is undefined' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key-description' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'this-single-command-keys' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'defining-kbd-macro' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'force-mode-line-update' Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; If this is a down-mouse event, don't reset prefix-arg;" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; pass it to the command run by the up event.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'prefix-arg'  Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'down"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'event-modifiers' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'last-command-event' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 'current-prefix-arg' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Prevent the \\{...} documentation construct' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; from mentioning keys that run this command.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 "'undefined"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'suppress-keymap" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'suppress-keymap' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'nodigits'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Make MAP override all normally self-inserting keys to be undefined.\nNormally, as an exception, digits and minus-sign are set to make prefix args,\nbut optional second arg NODIGITS non-nil treats them like other chars.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'remap'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self-insert-command' Name.Function
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'undefined"  Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'nodigits'    Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'loop'        Name.Builtin
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '-'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'negative-argument" Literal.String.Symbol
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; Make plain numbers do numeric args.' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'loop'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '?0'          Literal.String.Char
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'loop'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '?9'          Literal.String.Char
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-to-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'loop'        Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'digit-argument" Literal.String.Symbol
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'loop'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'loop'        Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'make-composed-keymap' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'maps'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Construct a new keymap composed of MAPS and inheriting from PARENT.\nWhen looking up a key in the returned map, the key is looked in each\nkeymap of MAPS in turn until a binding is found.\nIf no binding is found in MAPS, the lookup continues in PARENT, if non-nil.\nAs always with keymap inheritance, a nil binding in MAPS overrides\nany corresponding binding in PARENT, but it does not override corresponding\nbindings in other keymaps of MAPS.\nMAPS can be a list of keymaps or a single keymap.\nPARENT if non-nil should be a keymap.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'keymap'      Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'maps'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'maps'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'maps'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ',@'          Operator
 'parent'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'define-key-after' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'definition'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Add binding in KEYMAP for KEY => DEFINITION, right after AFTER's binding.\nThis is like " Literal.String
 "`define-key'" Literal.String.Symbol
 '\\('         Literal.String
 'like DEFINITION).\n\nIf AFTER is t or omitted, the new binding goes at the end of the keymap.\nAFTER should be a single event type--a symbol or a character, not a sequence.\n\nBindings are always added before any inherited map.\n\nThe order of bindings in a keymap only matters when it is used as\na menu, so this function is not useful for non-menu keymaps.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'signal'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'wrong-type-argument" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'keymapp"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 "'vector"     Literal.String.Symbol
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 '('           Punctuation
 'butlast'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mapcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'identity"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'done'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inserted'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'done'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Delete any earlier bindings for the same key.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; If we hit an included map, go down that one.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";; When we reach AFTER's binding, insert the new binding after." Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; If we reach an inherited keymap, insert just before that.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; If we reach the end of this keymap, insert at the end.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'keymap"     Literal.String.Symbol
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; Stop the scan only if we find a parent keymap.' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; Keep going past the inserted element' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; so we can delete any duplications that come later.' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'keymap"     Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ";; Don't insert more than once." Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'inserted'    Name.Variable
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'definition'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'inserted'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'map-keymap-sorted' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Implement '  Literal.String
 "`map-keymap'" Literal.String.Symbol
 " with sorting.\nDon't call this function; it is for internal use only." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'map-keymap'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sort'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-'\n                             ' Text
+'\n                             ' Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 ';; string< also accepts symbols.' Comment.Single
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '('           Punctuation
 'string<'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'p'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'keymap--menu-item-binding' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'val'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the binding part of a menu-item.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 ';Not a menu-item.' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'menu-item"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'binding'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'plist'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nthcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'filter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'plist-get'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'plist'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':filter'     Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'filter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'filter'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'                            ' Text
+'                            ' Text.Whitespace
 ';Not a menu-item either.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'keymap--menu-item-with-binding' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'item'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Build a menu-item like ITEM but with its binding changed to BINDING.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 ';Not a menu-item.' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'menu-item"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nthcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Remove any potential filter.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'plist-get'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':filter'     Name.Builtin
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'plist-put'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':filter'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'keymap--merge-bindings' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'val1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val2'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Merge bindings VAL1 and VAL2.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'map1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymap--menu-item-binding' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val1'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'map2'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymap--menu-item-binding' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val2'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'map1'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'map2'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ";; There's nothing to merge: val1 takes precedence." Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 'val1'        Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'keymap"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'map1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'map2'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'item'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'val1'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'val2'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'val2'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val1'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'keymap--menu-item-with-binding' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'keymap-canonicalize' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'map'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a simpler equivalent keymap.\nThis resolves inheritance and redefinitions.  The returned keymap\nshould behave identically to a copy of KEYMAP w.r.t ' Literal.String
 "`lookup-key'" Literal.String.Symbol
 '\nand use in active keymaps and menus.\nSubkeymaps may be modified but are not canonicalized.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; FIXME: Problem with the difference between a nil binding' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; that hides a binding in an inherited map and a nil binding that's ignored" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; to let some further binding visible.  Currently a nil binding hides all.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; FIXME: we may want to carefully (re)order elements in case they're" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; menu-entries.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'bindings'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'ranges'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymap-prompt' Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'map-keymap'  Name.Function
-' '           Text
+' '           Text.Whitespace
 ';; -internal' Comment.Single
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 ';; Treat char-ranges specially.' Comment.Single
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ranges'      Name.Variable
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'item'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bindings'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Create the new map.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'ranges'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'make-keymap" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'make-sparse-keymap" Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'binding'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ranges'      Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Treat char-ranges specially.  FIXME: need to merge as well.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vector'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Process the bindings starting from the end.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'binding'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prog1'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bindings'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'bindings'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'oldbind'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'assq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'bindings'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'oldbind'     Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 ';; The normal case: no duplicate bindings.' Comment.Single
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 'binding'     Name.Variable
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; This is the second binding for this key.' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'bindings'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'delq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'oldbind'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'bindings'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymap--merge-bindings' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'binding'     Name.Variable
 ')'           Punctuation
-'\n                                                  ' Text
+'\n                                                  ' Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'oldbind'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'bindings'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'nconc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'bindings'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 "'keyboard-translate-table" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'char-table-extra-slots" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'keyboard-translate' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Translate character FROM to TO on the current terminal.\nThis function creates a ' Literal.String
 "`keyboard-translate-table'" Literal.String.Symbol
 ' if necessary\nand then modifies one entry in it.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-table-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'keyboard-translate-table' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'keyboard-translate-table' Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'make-char-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'keyboard-translate-table" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'aset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'keyboard-translate-table' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Key binding commands.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'global-set-key' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Give KEY a global binding as COMMAND.\nCOMMAND is the command definition to use; usually it is\na symbol naming an interactively-callable function.\nKEY is a key sequence; noninteractively, it is a string or vector\nof characters or event types, and non-ASCII characters with codes\nabove 127 (such as ISO Latin-1) can be included if you use a vector.\n\nNote that if KEY has a local binding in the current buffer,\nthat local binding will continue to shadow any global binding\nthat you make with this function.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'KSet key globally: ' Literal.String
 '\\n'         Literal.String
 'CSet key %s to command: ' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vectorp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'signal'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'wrong-type-argument" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'arrayp"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-global-map' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'local-set-key' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Give KEY a local binding as COMMAND.\nCOMMAND is the command definition to use; usually it is\na symbol naming an interactively-callable function.\nKEY is a key sequence; noninteractively, it is a string or vector\nof characters or event types, and non-ASCII characters with codes\nabove 127 (such as ISO Latin-1) can be included if you use a vector.\n\nThe binding goes in the current buffer's local map, which in most\ncases is shared with all other buffers in the same major mode." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'KSet key locally: ' Literal.String
 '\\n'         Literal.String
 'CSet key %s locally to command: ' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-local-map' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'use-local-map' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-sparse-keymap' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vectorp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'signal'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'wrong-type-argument" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'arrayp"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'global-unset-key' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Remove global binding of KEY.\nKEY is a string or vector representing a sequence of keystrokes.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'kUnset key globally: ' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'global-set-key' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'local-unset-key' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Remove local binding of KEY.\nKEY is a string or vector representing a sequence of keystrokes.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'kUnset key locally: ' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-local-map' Name.Function
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'local-set-key' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; substitute-key-definition and its subroutines.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'key-substitution-in-progress' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Used internally by ' Literal.String
 "`substitute-key-definition'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'substitute-key-definition' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'olddef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newdef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'oldmap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF.\nIn other words, OLDDEF is replaced with NEWDEF where ever it appears.\nAlternatively, if optional fourth argument OLDMAP is specified, we redefine\nin KEYMAP as NEWDEF those keys which are defined as OLDDEF in OLDMAP.\n\nIf you don't specify OLDMAP, you can usually get the same results\nin a cleaner way with command remapping, like this:\n  (define-key KEYMAP [remap OLDDEF] NEWDEF)\n" Literal.String
 
 '\\n'         Literal.String
 '(fn OLDDEF NEWDEF KEYMAP &optional OLDMAP)' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; Don't document PREFIX in the doc string because we don't want to" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; advertise it.  It's meant for recursive calls only.  Here's its" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; meaning'  Comment.Single
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 ';; If optional argument PREFIX is specified, it should be a key' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; prefix, a string.  Redefined bindings will then be bound to the' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; original key, with PREFIX added at the front.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'scan'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'oldmap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'prefix1'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vconcat'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'nil'         Name.Constant
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'key-substitution-in-progress' Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'scan'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key-substitution-in-progress' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Scan OLDMAP, finding each char or event-symbol that' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; has any definition, and act on it with hack-key.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'map-keymap'  Name.Function
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'aset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'prefix1'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'substitute-key-definition-key' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'olddef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newdef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prefix1'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 'scan'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'substitute-key-definition-key' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'defn'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'olddef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newdef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'inner-def'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'skipped'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'menu-item'   Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Find the actual command name within the binding.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'menu-item"  Literal.String.Symbol
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'menu-item'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Skip past menu-prompt.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'skipped'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Skip past cached key-equivalence data for menu items.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'olddef'      Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; Compare with equal if definition is a key sequence.' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; That is useful for operating on function-key-map.' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vectorp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'olddef'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'menu-item'   Name.Variable
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'copy'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'menu-item'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nthcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'copy'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'newdef'      Name.Variable
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'copy'        Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'nconc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'skipped'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'newdef'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Look past a symbol that names a keymap.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'inner-def'   Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indirect-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'defn'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";; For nested keymaps, we use `inner-def' rather than `defn' so as to" Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; avoid autoloading a keymap.  This is mostly done to preserve the' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; original non-autoloading behavior of pre-map-keymap times.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'inner-def'   Name.Variable
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 ';; Avoid recursively scanning' Comment.Single
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 ';; where KEYMAP does not have a submap.' Comment.Single
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'natnump'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 ';; Avoid recursively rescanning keymap being scanned.' Comment.Single
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'inner-def'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key-substitution-in-progress' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ";; If this one isn't being scanned already, scan it now." Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'substitute-key-definition' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'olddef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newdef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inner-def'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; The global keymap tree.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; global-map, esc-map, and ctl-x-map have their values set up in' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; keymap.c; we just give them docstrings here.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'global-map'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Default global keymap mapping Emacs keyboard input into commands.\nThe value is a keymap which is usually (but not necessarily) Emacs's\nglobal map." Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'esc-map'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Default keymap for ESC (meta) commands.\nThe normal global definition of the character ESC indirects to this keymap.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ctl-x-map'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Default keymap for C-x commands.\nThe normal global definition of the character C-x indirects to this keymap.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ctl-x-4-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-sparse-keymap' Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Keymap for subcommands of C-x 4.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'ctl-x-4-prefix" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'ctl-x-4-map' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'ctl-x-map'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '4'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'ctl-x-4-prefix" Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ctl-x-5-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-sparse-keymap' Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Keymap for frame commands.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'ctl-x-5-prefix" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'ctl-x-5-map' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'ctl-x-map'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '5'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'ctl-x-5-prefix" Literal.String.Symbol
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Event manipulation functions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defconst'    Keyword
-' '           Text
+' '           Text.Whitespace
 'listify-key-sequence-1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logior'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '128'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '?\\M'        Literal.String.Char
 '-\\C-@'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'listify-key-sequence' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Convert a key sequence to a list of events.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vectorp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'mapcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '127'         Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
 'logxor'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'listify-key-sequence-1' Name.Variable
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eventp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'True if the argument is an event object.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keywordp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'event-modifiers' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'event'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a list of symbols representing the modifier keys in event EVENT.\nThe elements of the list may include ' Literal.String
 "`meta'"      Literal.String.Symbol
 "`click'"     Literal.String.Symbol
 ' modifier.'  Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'listp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ";; Don't read event-symbol-elements directly since we're not" Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 ';; sure the symbol has already been parsed.' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'internal-event-symbol-parse-modifiers' Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lognot'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logior'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '?\\M'        Literal.String.Char
 '-\\^@'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\C'        Literal.String.Char
 '-\\^@'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\S'        Literal.String.Char
 '-\\^@'       Name.Variable
-'\n\t\t\t\t\t       ' Text
+'\n\t\t\t\t\t       ' Text.Whitespace
 '?\\H'        Literal.String.Char
 '-\\^@'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\s'        Literal.String.Char
 '-\\^@'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\A'        Literal.String.Char
 '-\\^@'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\M'        Literal.String.Char
 '-\\^@'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'meta"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\C'        Literal.String.Char
 '-\\^@'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'control"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\S'        Literal.String.Char
 '-\\^@'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 '/='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'downcase'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'shift"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\H'        Literal.String.Char
 '-\\^@'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'hyper"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\s'        Literal.String.Char
 '-\\^@'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'super"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\A'        Literal.String.Char
 '-\\^@'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'alt"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'event-basic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'event'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the basic type of the given event (all modifiers removed).\nThe value is a printing character (not upper case) or a symbol.\nEVENT may be an event or an event type.  If EVENT is a symbol\nthat has never been used in an event that has been read as input\nin the current Emacs session, then this function may return nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'event-symbol-elements" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'base'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '?\\A'        Literal.String.Char
 '-\\^@'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'uncontrolled' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'base'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logior'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'base'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '64'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'base'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; There are some numbers that are invalid characters and' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";; cause `downcase' to get an error." Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'condition-case' Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'downcase'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'uncontrolled' Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 'uncontrolled' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'mouse-movement-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if OBJECT is a mouse movement event.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'mouse-movement" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'mouse-event-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if OBJECT is a mouse click event.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; is this really correct? maybe remove mouse-movement?' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'event-basic-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'mouse-1'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mouse-2'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mouse-3'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mouse-movement' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'event-start' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'event'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the starting position of EVENT.\nEVENT should be a mouse click, drag, or key press event.  If\nEVENT is nil, the value of ' Literal.String
 "`posn-at-point'" Literal.String.Symbol
 '`'           Literal.String
 "(elisp)Click Events'." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-at-point' Name.Function
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'selected-window' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'event-end'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'event'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the ending position of EVENT.\nEVENT should be a click, drag, or key press event.\n\nSee ' Literal.String
 "`event-start'" Literal.String.Symbol
 ' for a description of the value returned.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-at-point' Name.Function
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'selected-window' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'event-click-count' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'event'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the multi-click count of EVENT, a click or drag event.\nThe return value is a positive integer.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Extracting fields of the positions in an event.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posnp'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if OBJ appears to be a valid ' Literal.String
 "`posn'"      Literal.String.Symbol
 "`posn'"      Literal.String.Symbol
 ' object, but specifies a frame rather\nthan a window, return nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; FIXME: Correct the behavior of this function so that all valid' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; `posn' objects are recognized, after updating other code that" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; depends on its present behavior.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'windowp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'atom'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'                ' Text
+'                ' Text.Whitespace
 ';AREA-OR-POS.' Comment.Single
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';XOFFSET.'   Comment.Single
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'                     ' Text
+'                     ' Text.Whitespace
 ';TIMESTAMP.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the window in POSITION.\nPOSITION should be a list of the form returned by the ' Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 ' functions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-area'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the window area recorded in POSITION, or nil for the text area.\nPOSITION should be a list of the form returned by the ' Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 ' functions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'area'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'area'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'area'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-point'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the buffer location in POSITION.\nPOSITION should be a list of the form returned by the ' Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 ' functions.\nReturns nil if POSITION does not correspond to any buffer location (e.g.\na click on a scroll bar).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pt'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'pt'          Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 ";; Apparently this can also be `vertical-scroll-bar' (bug#13979)." Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'pt'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pt'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-set-point' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Move point to POSITION.\nSelect the corresponding window as well.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'windowp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Position not in text area of window' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'select-window' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-point'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'goto-char'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-point'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-x-y'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the x and y coordinates in POSITION.\nThe return value has the form (X . Y), where X and Y are given in\npixels.  POSITION should be a list of the form returned by\n' Literal.String
 
 "`event-end'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'declare-function' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'scroll-bar-scale' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'scroll-bar'  Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'num-denom'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'whole'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-col-row' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Return the nominal column and row in POSITION, measured in characters.\nThe column and row values are approximations calculated from the x\nand y coordinates in POSITION and the frame's default character width\nand default line height, including spacing.\nFor a scroll-bar event, the result column is 0, and the row\ncorresponds to the vertical position of the click in the scroll bar.\nPOSITION should be a list of the form returned by the " Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 ' functions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pair'        Name.Variable
-'            ' Text
+'            ' Text.Whitespace
 '('           Punctuation
 'posn-x-y'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'frame-or-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'frame'       Name.Variable
-'           ' Text
+'           ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'framep'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame-or-window' Name.Variable
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 'frame-or-window' Name.Variable
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'window-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame-or-window' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'window'      Name.Variable
-'          '  Text
+'          '  Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'windowp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame-or-window' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'frame-or-window' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'area'        Name.Variable
-'            ' Text
+'            ' Text.Whitespace
 '('           Punctuation
 'posn-area'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame-or-window' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'area'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'vertical-scroll-bar" Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'scroll-bar-scale' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pair'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-height' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'area'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'horizontal-scroll-bar" Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'scroll-bar-scale' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pair'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-width' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; FIXME: This should take line-spacing properties on' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; newlines into account.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'spacing'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'display-graphic-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 '('           Punctuation
 'window-buffer' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frame-selected-window' Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 'line-spacing' Name.Variable
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'frame-parameter' Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'line-spacing" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'floatp'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'spacing'     Name.Variable
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'spacing'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'truncate'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'spacing'     Name.Variable
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 '('           Punctuation
 'frame-char-height' Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'spacing'     Name.Variable
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'spacing'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'pair'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frame-char-width' Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'pair'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frame-char-height' Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'spacing'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-actual-col-row' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the window row number in POSITION and character number in that row.\n\nReturn nil if POSITION does not contain the actual position; in that case\n' Literal.String
 
 '\\`'         Literal.String
 "posn-col-row', not this function." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-timestamp' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the timestamp of POSITION.\nPOSITION should be a list of the form returned by the ' Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 ' functions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the string object of POSITION.\nValue is a cons (STRING . STRING-POS), or nil if not a string.\nPOSITION should be a list of the form returned by the ' Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 ' functions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";; Apparently this can also be `handle' or `below-handle' (bug#13979)." Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-image'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the image object of POSITION.\nValue is a list (image ...), or nil if not an image.\nPOSITION should be a list of the form returned by the ' Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 ' functions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-object' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the object (image or string) of POSITION.\nValue is a list (image ...) for an image object, a cons cell\n' Literal.String
 
 "`event-end'" Literal.String.Symbol
 ' functions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-image'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'posn-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-object-x-y' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the x and y coordinates relative to the object of POSITION.\nThe return value has the form (DX . DY), where DX and DY are\ngiven in pixels.  POSITION should be a list of the form returned\nby ' Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'posn-object-width-height' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the pixel width and height of the object of POSITION.\nThe return value has the form (WIDTH . HEIGHT).  POSITION should\nbe a list of the form returned by ' Literal.String
 "`event-start'" Literal.String.Symbol
 "`event-end'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'position'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Obsolescent names for functions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'window-dot" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'window-point" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'set-window-dot" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'set-window-point" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'read-input" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'read-string" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'show-buffer" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'set-window-buffer" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'eval-current-buffer" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'eval-buffer" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'string-to-int" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'string-to-number" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'forward-point" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'use (+ (point) N) instead.' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'buffer-has-markers-at" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.3'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'insert-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Mocklisp-compatibility insert function.\nLike the function ' Literal.String
 "`insert'"    Literal.String.Symbol
 ' except that any argument that is a number\nis converted into a string by expressing it in decimal.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'insert'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'el'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'insert'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'el'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'number-to-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'el'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'el'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'makehash'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'make-hash-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'make-hash-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 ':test'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'eql"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'log10'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return (log X 10), the log base 10 of X.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'log'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.4'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'log'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; These are used by VM and some old programs' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'focus-frame" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'ignore"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'focus-frame" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'it does nothing.' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'unfocus-frame" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'ignore"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'unfocus-frame" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'it does nothing.' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'make-variable-frame-local" Literal.String.Symbol
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '"'           Literal.String
 'explicitly check for a frame-parameter instead.' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set-advertised-calling-convention' Name.Variable
-'\n '         Text
+'\n '         Text.Whitespace
 "'all-completions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'collection'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'predicate'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set-advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'unintern"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obarray'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.3'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set-advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'indirect-function" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '25.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set-advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'redirect-frame-focus" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'focus-frame' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.3'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set-advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'decode-char" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'ch'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'charset'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '21.4'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set-advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'encode-char" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'ch'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'charset'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '21.4'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Obsolescence declarations for variables, and aliases.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Special "default-FOO" variables which contain the default value of' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; the "FOO" variable are nasty.  Their implementation is brittle, and' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; slows down several unrelated variable operations; furthermore, they' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; can lead to really odd behavior if you decide to make them' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; buffer-local.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Not used at all in Emacs, last time I checked:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-mode-line-format" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'mode-line-format" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-header-line-format" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'header-line-format" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-line-spacing" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'line-spacing" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-abbrev-mode" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'abbrev-mode" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-ctl-arrow" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'ctl-arrow"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-truncate-lines" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'truncate-lines" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-left-margin" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'left-margin" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-tab-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'tab-width"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-case-fold-search" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'case-fold-search" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-left-margin-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'left-margin-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-right-margin-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'right-margin-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-left-fringe-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'left-fringe-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-right-fringe-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'right-fringe-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-fringes-outside-margins" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'fringes-outside-margins" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-scroll-bar-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'scroll-bar-width" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-vertical-scroll-bar" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'vertical-scroll-bar" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-indicate-empty-lines" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'indicate-empty-lines" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-indicate-buffer-boundaries" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'indicate-buffer-boundaries" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-fringe-indicator-alist" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'fringe-indicator-alist" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-fringe-cursor-alist" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'fringe-cursor-alist" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-scroll-up-aggressively" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'scroll-up-aggressively" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-scroll-down-aggressively" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'scroll-down-aggressively" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-fill-column" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'fill-column" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-cursor-type" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'cursor-type" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-cursor-in-non-selected-windows" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'cursor-in-non-selected-windows" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-buffer-file-coding-system" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'buffer-file-coding-system" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-major-mode" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'major-mode" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'default-enable-multibyte-characters" Literal.String.Symbol
-'\n      '    Text
+'\n      '    Text.Whitespace
 '"'           Literal.String
 'use enable-multibyte-characters or set-buffer-multibyte instead' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'define-key-rebound-commands" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'redisplay-end-trigger-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'jit-lock-register" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'deferred-action-list" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'post-command-hook" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'deferred-action-function" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'post-command-hook" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'redisplay-dont-pause" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.5'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'window-redisplay-end-trigger" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'set-window-redisplay-end-trigger" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'process-filter-multibyte-p" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'set-process-filter-multibyte" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Lisp manual only updated in 22.1.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-variable-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'executing-macro" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'executing-kbd-macro" Literal.String.Symbol
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'before 19.34' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-variable-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'x-lost-selection-hooks" Literal.String.Symbol
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'x-lost-selection-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-variable-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'x-sent-selection-hooks" Literal.String.Symbol
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'x-sent-selection-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; This was introduced in 21.4 for pre-unicode unification.  That' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; usage was rendered obsolete in 23.1 which uses Unicode internally.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Other uses are possible, so this variable is not _really_ obsolete,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; but Stefan insists to mark it so.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-obsolete-variable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'translation-table-for-input" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvaralias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'messages-buffer-max-lines" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'message-log-max" Literal.String.Symbol
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Alternate names for functions - these are not being phased out.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'send-string" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'process-send-string" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'send-region" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'process-send-region" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'string="    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'string-equal" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'string<"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'string-lessp" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'move-marker" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'set-marker" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'rplaca"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'setcar"     Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'rplacd"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'setcdr"     Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'beep"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'ding"       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';preserve lingual purity' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'indent-to-column" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'indent-to"  Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'backward-delete-char" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'delete-backward-char" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'search-forward-regexp" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'re-search-forward" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'search-backward-regexp" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'re-search-backward" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'int-to-string" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'number-to-string" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'store-match-data" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'set-match-data" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'chmod"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'set-file-modes" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'mkdir"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'make-directory" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; These are the XEmacs names:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'point-at-eol" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'line-end-position" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'point-at-bol" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'line-beginning-position" Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defalias'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'user-original-login-name" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'user-login-name" Literal.String.Symbol
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Hook manipulation functions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'add-hook'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Add to the value of HOOK the function FUNCTION.\nFUNCTION is not added if already present.\nFUNCTION is added (if necessary) at the beginning of the hook list\nunless the optional argument APPEND is non-nil, in which case\nFUNCTION is added at the end.\n\nThe optional fourth argument, LOCAL, if non-nil, says to modify\nthe hook's buffer-local value rather than its global value.\nThis makes the hook buffer-local, and it makes t a member of the\nbuffer-local value.  That acts as a flag to run the hook\nfunctions of the global value as well as in the local value.\n\nHOOK should be a symbol, and FUNCTION may be any valid function.  If\nHOOK is void, it is first set to nil.  If HOOK's value is a single\nfunction, it is changed to a list of functions." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'boundp'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'default-boundp' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set-default' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'local-variable-if-set-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-local-variable' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Detect the case where make-local-variable was used on a hook' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; and do what we used to do.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'hook-value'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'default-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; If the hook value is a single function, turn it into a list.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'listp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'functionp'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Do the actual addition if necessary' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'purecopy'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'append'      Name.Function
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Set the actual variable' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ";; If HOOK isn't a permanent local," Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; but FUNCTION wants to survive a change of modes,' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; mark HOOK as partially permanent.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 "'permanent-local-hook" Literal.String.Symbol
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'permanent-local" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'permanent-local" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'permanent-local-hook" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set-default' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'remove-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Remove from the value of HOOK the function FUNCTION.\nHOOK should be a symbol, and FUNCTION may be any valid function.  If\nFUNCTION isn't the value of HOOK, or, if FUNCTION doesn't appear in the\nlist of hooks to run in HOOK, then nothing is done.  See " Literal.String
 "`add-hook'"  Literal.String.Symbol
 ".\n\nThe optional third argument, LOCAL, if non-nil, says to modify\nthe hook's buffer-local value rather than its default value." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'boundp'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'default-boundp' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set-default' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Do nothing if LOCAL is t but this hook has no local binding.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'local-variable-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Detect the case where make-local-variable was used on a hook' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; and do what we used to do.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'local-variable-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'hook-value'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'default-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Remove the function, for both the list and the non-list cases.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'listp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'lambda"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'delete'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; If the function is on the global hook, we need to shadow it locally' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';;(when (and local (member function (default-value hook))' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";;\t       (not (member (cons 'not function) hook-value)))" Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";;  (push (cons 'not function) hook-value))" Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Set the actual variable' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'local'       Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'set-default' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'kill-local-variable' Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'hook-value'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'letrec'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'binders'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Bind variables according to BINDERS then eval BODY.\nThe value of the last form in BODY is returned.\nEach element of BINDERS is a list (SYMBOL VALUEFORM) which binds\nSYMBOL to the value of VALUEFORM.\nAll symbols are bound before the VALUEFORMs are evalled.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Only useful in lexical-binding mode.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; As a special-form, we could implement it more efficiently (and cleanly,' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; making the vars actually unbound during evaluation of the binders).' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'let'         Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'mapcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'binders'     Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'mapcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'binder'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'binder'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'binders'     Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-wrapper-hook' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Run BODY, using wrapper functions from HOOK with additional ARGS.\nHOOK is an abnormal hook.  Each hook function in HOOK ' Literal.String
 '\\"'         Literal.String
 '\\"'         Literal.String
 ')\nFUN is then called once.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'form'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sexp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'use a <foo>-function variable modified by ' Literal.String
 "`add-function'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '"'           Literal.String
 '24.4'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; We need those two gensyms because CL's lexical scoping is not available" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; for function arguments :-(' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'funs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'funs'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'global'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'global'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'argssym'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'args'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'runrestofhook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'runrestofhook' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Since the hook is a wrapper, the loop has to be done via' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; recursion: a given hook function will call its parameter in order to' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; continue looping.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'letrec'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'runrestofhook' Name.Variable
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'funs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'global'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'argssym'     Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 ";; `funs' holds the functions left on the hook and `global'" Comment.Single
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 ';; holds the functions left on the global part of the hook' Comment.Single
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 ';; (in case the hook is local).' Comment.Single
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'funs'        Name.Variable
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'funs'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'runrestofhook' Name.Variable
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'global'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'funs'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'argssym'     Name.Variable
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'funs'        Name.Variable
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 '('           Punctuation
 'apply-partially' Name.Variable
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 'funs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'global'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'argssym'     Name.Variable
 ')'           Punctuation
-'\n                                 ' Text
+'\n                                 ' Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'runrestofhook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'funs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'global'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'argssym'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'funs'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'global'      Name.Variable
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 ','           Operator
 'argssym'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ';; Once there are no more functions on the hook, run' Comment.Single
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ';; the original body.' Comment.Single
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'argssym'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'runrestofhook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'hook'        Name.Variable
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; The global part of the hook, if any.' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ','           Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'local-variable-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 "',hook"      Literal.String.Symbol
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'default-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 "',hook"      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'add-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list-var'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'compare-fn'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Add ELEMENT to the value of LIST-VAR if it isn't there yet.\nThe test for presence of ELEMENT is done with " Literal.String
 "`equal'"     Literal.String.Symbol
 "`eval-after-load'" Literal.String.Symbol
 ' provides one way to\ndo this.  In some cases other hooks, such as major mode hooks,\ncan do the job.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'compiler-macro' Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'exp'         Name.Function
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ";; FIXME: Something like this could be used for `set' as well." Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'quote"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'special-variable-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'macroexp-const-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'append'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 'exp'         Name.Function
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eval'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'append'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'msg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "`add-to-list'" Literal.String.Symbol
 " can't use lexical var " Literal.String
 ' or '        Literal.String
 "`cl-pushnew'" Literal.String.Symbol
 '"'           Literal.String
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; Big ugly hack so we only output a warning during' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; byte-compilation, and so we can use' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; byte-compile-not-lexical-var-p to silence the warning' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; when a defvar has been seen but not yet executed.' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'warnfun'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 ';; FIXME: We should also emit a warning for let-bound' Comment.Single
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 ';; variables with dynamic binding.' Comment.Single
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'assq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'byte-compile--lexical-environment' Name.Variable
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'byte-compile-log-warning' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 ':error'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'code'        Name.Variable
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'macroexp-let2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'macroexp-copyable-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'compare-fn'  Name.Variable
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 '('           Punctuation
 'require'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'cl-lib"     Literal.String.Symbol
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'cl-member'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':test'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'compare-fn'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 ";; For bootstrapping reasons, don't rely on" Comment.Single
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 ';; cl--compiler-macro-member for the base case.' Comment.Single
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 ','           Operator
 'sym'         Name.Variable
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 ','           Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'append'      Name.Function
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'macroexp--compiling-p' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'code'        Name.Variable
-'\n            ' Text
+'\n            ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'progn'       Keyword
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'macroexp--funcall-if-compiled' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',warnfun"   Literal.String.Symbol
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 ','           Operator
 'code'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'compare-fn'  Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'compare-fn'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'eq"         Literal.String.Symbol
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'compare-fn'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'eql"        Literal.String.Symbol
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'memql'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'lst'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'compare-fn'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'append'      Name.Function
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'add-to-ordered-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list-var'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'order'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Add ELEMENT to the value of LIST-VAR if it isn't there yet.\nThe test for presence of ELEMENT is done with " Literal.String
 "`eq'"        Literal.String.Symbol
 "`list-order'" Literal.String.Symbol
 ' property.\n\nThe return value is the new value of LIST-VAR.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'ordering'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'list-order" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'ordering'    Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'list-order" Literal.String.Symbol
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ordering'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-hash-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 ':weakness'   Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'key"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ':test'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'eq"         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'order'       Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'puthash'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'order'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'order'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ordering'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sort'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'list-var'    Name.Variable
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'oa'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'gethash'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ordering'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'gethash'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ordering'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'oa'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ob'          Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'oa'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ob'          Name.Variable
 ')'           Punctuation
-'\n\t\t\t      ' Text
+'\n\t\t\t      ' Text.Whitespace
 'oa'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'add-to-history' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'history-var' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'newelt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'maxelt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keep-all'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Add NEWELT to the history list stored in the variable HISTORY-VAR.\nReturn the new history list.\nIf MAXELT is non-nil, it specifies the maximum length of the history.\nOtherwise, the maximum history length is the value of the ' Literal.String
 "`history-length'" Literal.String.Symbol
 "`history-delete-duplicates'" Literal.String.Symbol
 ' is non-nil.\nIf optional fourth arg KEEP-ALL is non-nil, add NEWELT to history even\nif it is empty or a duplicate.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'maxelt'      Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'maxelt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'history-var' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'history-length" Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 'history-length' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'history'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'history-var' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'listp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'keep-all'    Name.Variable
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'newelt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'newelt'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'keep-all'    Name.Variable
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'newelt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'history-delete-duplicates' Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'delete'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'newelt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'newelt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'maxelt'      Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'maxelt'      Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nthcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'maxelt'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'history-var' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'history'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Mode hooks.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'delay-mode-hooks' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'If non-nil, ' Literal.String
 "`run-mode-hooks'" Literal.String.Symbol
 ' should delay running the hooks.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'delayed-mode-hooks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'List of delayed mode hooks waiting to be run.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'make-variable-buffer-local' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'delayed-mode-hooks" Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 "'delay-mode-hooks" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'permanent-local" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'change-major-mode-after-body-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Normal hook run in major mode functions, before the mode hooks.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'after-change-major-mode-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Normal hook run at the very end of major mode functions.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'run-mode-hooks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'hooks'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Run mode hooks ' Literal.String
 "`delayed-mode-hooks'" Literal.String.Symbol
 "`run-hooks'" Literal.String.Symbol
 ' when running their FOO-mode-hook.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'delay-mode-hooks' Name.Builtin
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Delaying case.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'hooks'       Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'hook'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'delayed-mode-hooks' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Normal case, just run the hook as before plus any delayed hooks.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'hooks'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nconc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'delayed-mode-hooks' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'hooks'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'delayed-mode-hooks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 "'run-hooks"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'change-major-mode-after-body-hook" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'hooks'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'run-hooks'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'after-change-major-mode-hook" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'delay-mode-hooks' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute BODY, but delay any ' Literal.String
 "`run-mode-hooks'" Literal.String.Symbol
 "`delayed-mode-hooks'" Literal.String.Symbol
 ' form.\nOnly affects hooks run in the current buffer.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'progn'       Keyword
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'make-local-variable' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'delay-mode-hooks" Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'delay-mode-hooks' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; PUBLIC: find if the current mode derives from another.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'derived-mode-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'modes'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Non-nil if the current major mode is derived from one of MODES.\nUses the ' Literal.String
 "`derived-mode-parent'" Literal.String.Symbol
 ' property of the symbol to trace backwards.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'major-mode'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'modes'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'parent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'derived-mode-parent" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'parent'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Minor modes.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; If a minor mode is not defined with define-minor-mode,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; add it here explicitly.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; isearch-mode is deliberately excluded, since you should' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; not call it yourself.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'minor-mode-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'auto-save-mode' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'auto-fill-mode' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'abbrev-mode' Name.Variable
-'\n\t\t\t\t\t ' Text
+'\n\t\t\t\t\t ' Text.Whitespace
 'overwrite-mode' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'view-mode'   Name.Variable
-'\n                                         ' Text
+'\n                                         ' Text.Whitespace
 'hs-minor-mode' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'List of all minor mode functions.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'add-minor-mode' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'toggle-fun'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Register a new minor mode.\n\nThis is an XEmacs-compatibility function.  Use ' Literal.String
 "`define-minor-mode'" Literal.String.Symbol
 '`'           Literal.String
 ":menu-tag', that is used for the menu item's label." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'minor-mode-list' Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'minor-mode-list' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'toggle-fun'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'toggle-fun'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle-fun'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':minor-mode-function' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'toggle-fun'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Add the name to the minor-mode-alist.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'existing'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'assq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'minor-mode-alist' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'existing'    Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'existing'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'minor-mode-alist' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'caar'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rest'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'nconc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rest'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'minor-mode-alist' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Add the toggle to the minor-modes menu if requested.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':included'   Name.Builtin
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'mode-line-mode-menu' Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'vector'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'menu-item"  Literal.String.Symbol
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':menu-tag'   Name.Builtin
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'mode-name'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'mode-name'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[^ ]+'       Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'mode-name'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' ('          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'mode-name'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ')'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 'toggle-fun'  Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ':button'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 ':toggle'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 ';; Add the map to the minor-mode-map-alist.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'existing'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'assq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'minor-mode-map-alist' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'existing'    Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'existing'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'minor-mode-map-alist' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'caar'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rest'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'nconc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'found'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rest'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'toggle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'minor-mode-map-alist' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Load history' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'autoloadp'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Non-nil if OBJECT is an autoload.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'autoload"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; (defun autoload-type (object)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   "Returns the type of OBJECT or `function\' or `command\' if the type is nil.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; OBJECT should be an autoload object."' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (when (autoloadp object)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;     (let ((type (nth 3 object)))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;       (cond ((null type) (if (nth 2 object) 'command 'function))" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;             ((eq 'keymap t) 'macro)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;             (type)))))' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; (defalias 'autoload-file #'cadr" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   "Return the name of the file from which AUTOLOAD will be loaded.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; \\n\\(fn AUTOLOAD)")' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'symbol-file' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the name of the file that defined SYMBOL.\nThe value is normally an absolute file name.  It can also be nil,\nif the definition is not associated with any file.  If SYMBOL\nspecifies an autoloaded function, the value can be a relative\nfile name without extension.\n\nIf TYPE is nil, then any kind of definition is acceptable.  If\nTYPE is ' Literal.String
 "`defun'"     Literal.String.Symbol
 "`defface'"   Literal.String.Symbol
 ', that specifies function\ndefinition, variable definition, or face definition only.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'defun"      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'autoloadp'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'files'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'load-history' Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'defvar"     Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 ';; Variables are present just as their names.' Comment.Single
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 ';; Other types are represented as (TYPE . NAME).' Comment.Single
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 ';; We accept all types, so look for variable def' Comment.Single
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 ';; and then for any other kind.' Comment.Single
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'rassq'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'files'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'locate-library' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'library'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'nosuffix'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'path'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'interactive-call' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Show the precise file name of Emacs library LIBRARY.\nLIBRARY should be a relative file name of the library, a string.\nIt can omit the suffix (a.k.a. file-name extension) if NOSUFFIX is\nnil (which is the default, see below).\nThis command searches the directories in ' Literal.String
 "`load-path'" Literal.String.Symbol
 "`load-path'" Literal.String.Symbol
 '.\n\nWhen called from a program, the file name is normally returned as a\nstring.  When run interactively, the argument INTERACTIVE-CALL is t,\nand the file name is displayed in the echo area.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'completing-read' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Locate library: ' Literal.String
 '"'           Literal.String
-'\n\t\t\t\t      ' Text
+'\n\t\t\t\t      ' Text.Whitespace
 '('           Punctuation
 'apply-partially' Name.Variable
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 "'locate-file-completion-table" Literal.String.Symbol
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 'load-path'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-load-suffixes' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'locate-file' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'library'     Name.Variable
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'path'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'load-path'   Name.Variable
 ')'           Punctuation
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'nosuffix'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-load-suffixes' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 'load-file-rep-suffixes' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'interactive-call' Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Library is file %s' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'abbreviate-file-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'No library %s in search path' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'library'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Process stuff.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'process-lines' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'program'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute PROGRAM with ARGS, returning its output as a list of lines.\nSignal an error if the program returns with a non-zero exit status.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'with-temp-buffer' Name.Builtin
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'status'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 "'call-process" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'program'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'status'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s exited with status %s' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'program'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'status'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'goto-char'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lines'       Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eobp'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'lines'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-substring-no-properties' Name.Function
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '('           Punctuation
 'line-beginning-position' Name.Function
 ')'           Punctuation
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '('           Punctuation
 'line-end-position' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 'lines'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'forward-line' Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'lines'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'process-live-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Returns non-nil if PROCESS is alive.\nA process is considered alive if its status is ' Literal.String
 "`run'"       Literal.String.Symbol
 "`stop'"      Literal.String.Symbol
 '.  Value is nil if PROCESS is not a\nprocess.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'processp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process-status' Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'run'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'open'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'listen'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'connect'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'stop'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; compatibility' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'make-obsolete' Name.Variable
-'\n '         Text
+'\n '         Text.Whitespace
 "'process-kill-without-query" Literal.String.Symbol
-'\n '         Text
+'\n '         Text.Whitespace
 '"'           Literal.String
 'use '        Literal.String
 "`process-query-on-exit-flag'" Literal.String.Symbol
 "`set-process-query-on-exit-flag'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n '         Text
+'\n '         Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'process-kill-without-query' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 '_flag'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Say no query needed if PROCESS is running when Emacs is exited.\nOptional second argument if non-nil says to require a query.\nValue is t if a query was formerly required.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'old'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process-query-on-exit-flag' Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set-process-query-on-exit-flag' Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'old'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'process-kill-buffer-query-function' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Ask before killing a buffer that has a running process.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'process'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-buffer-process' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process-status' Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'run'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'stop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'open'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'listen'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process-query-on-exit-flag' Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'yes-or-no-p' Name.Function
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Buffer %S has a running process; kill it? ' Literal.String
 '"'           Literal.String
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'buffer-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'add-hook'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'kill-buffer-query-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'process-kill-buffer-query-function" Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; process plist management' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'process-get' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'propname'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Return the value of PROCESS' PROPNAME property.\nThis is the last value stored with " Literal.String
 '`'           Literal.String
 "(process-put PROCESS PROPNAME VALUE)'." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'plist-get'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process-plist' Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'propname'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'process-put' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'propname'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Change PROCESS' PROPNAME property to VALUE.\nIt can be retrieved with " Literal.String
 '`'           Literal.String
 "(process-get PROCESS PROPNAME)'." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set-process-plist' Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'plist-put'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process-plist' Name.Function
-' '           Text
+' '           Text.Whitespace
 'process'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'propname'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Input and display facilities.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defconst'    Keyword
-' '           Text
+' '           Text.Whitespace
 'read-key-empty-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-sparse-keymap' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'read-key-delay' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.01'        Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';Fast enough for 100Hz repeat rate, hopefully.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'read-key'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Read a key from the keyboard.\nContrary to ' Literal.String
 "`read-event'" Literal.String.Symbol
 "`read-key-delay'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; This overriding-terminal-local-map binding also happens to' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; disable quail's input methods, so although read-key-sequence" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; always inherits the input method, in practice read-key does not' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; inherit the input method (at least not if it's based on quail)." Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'overriding-terminal-local-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'overriding-local-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'read-key-empty-map' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'echo-keystrokes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'old-global-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-global-map' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'timer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'run-with-idle-timer' Name.Variable
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; Wait long enough that Emacs has the time to receive and' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; process all the raw events associated with the single-key.' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ";; But don't wait too long, or the user may find the delay" Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; annoying (or keep hitting more keys which may then get' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; lost or misinterpreted).' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; This is only relevant for keys which Emacs perceives as' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; "prefixes", such as C-x (because of the C-x 8 map in' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; key-translate-table and the C-x @ map in function-key-map)' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; or ESC (because of terminal escape sequences in' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; input-decode-map).' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 'read-key-delay' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'keys'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'this-command-keys-vector' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'keys'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 ";; `keys' is non-empty, so the user has hit at least" Comment.Single
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 ";; one key; there's no point waiting any longer, even" Comment.Single
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 ';; though read-key-sequence thinks we should wait' Comment.Single
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 ';; for more input to decide how to interpret the' Comment.Single
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 ';; current input.' Comment.Single
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'throw'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'read-key"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'keys'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'use-global-map' Name.Function
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-sparse-keymap' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ";; Don't hide the menu-bar and tool-bar entries." Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'menu-bar'    Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'global-map'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'menu-bar'    Name.Variable
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'tool-bar'    Name.Variable
 ']'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 ';; This hack avoids evaluating the :filter (Bug#9922).' Comment.Single
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'assq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'tool-bar"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'global-map'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'lookup-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'global-map'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'tool-bar'    Name.Variable
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'keys'        Name.Variable
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 "'read-key"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-key-sequence-vector' Name.Function
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'keys'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'keys'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'mode-line'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'header-line' Name.Variable
-'\n                                 ' Text
+'\n                                 ' Text.Whitespace
 'left-fringe' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'right-fringe' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'keys'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'cancel-timer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'timer'       Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'use-global-map' Name.Function
-' '           Text
+' '           Text.Whitespace
 'old-global-map' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'read-passwd-map' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; BEWARE: `defconst' would purecopy it, breaking the sharing with" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; minibuffer-local-map along the way!' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-sparse-keymap' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set-keymap-parent' Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'minibuffer-local-map' Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\C'         Literal.String
 '-u'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'delete-minibuffer-contents' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';bug#12570'  Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Keymap used while reading passwords.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'read-passwd' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'confirm'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Read a password, prompting with PROMPT, and return it.\nIf optional CONFIRM is non-nil, read the password twice to make sure.\nOptional DEFAULT is a default password to use instead of empty input.\n\nThis function echoes ' Literal.String
 "`.'"         Literal.String.Symbol
 "`read-hide-char'" Literal.String.Symbol
 ' to another hiding character, though.\n\nOnce the caller uses the password, it can erase the password\nby doing (clear-string STRING).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'confirm'     Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'success'     Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'success'     Name.Variable
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'first'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-passwd' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'second'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-passwd' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Confirm password: ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'first'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'second'      Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arrayp'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'second'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clear-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'second'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'success'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'first'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arrayp'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'first'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clear-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'first'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arrayp'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'second'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clear-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'second'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Password not repeated accurately; please start over' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'sit-for'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'success'     Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'hide-chars-fun' Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '_len'        Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'clear-this-command-keys' Name.Function
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'minibuffer-prompt-end' Name.Function
 ')'           Punctuation
-'\n                                     ' Text
+'\n                                     ' Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'put-text-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
-'\n                                  ' Text
+'\n                                  ' Text.Whitespace
 "'display"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'read-hide-char' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?.'          Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 'minibuf'     Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'minibuffer-with-setup-hook' Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'minibuf'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; Turn off electricity.' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq-local'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'post-self-insert-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq-local'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'buffer-undo-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq-local'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'select-active-regions' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'use-local-map' Name.Function
-' '           Text
+' '           Text.Whitespace
 'read-passwd-map' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq-local'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'inhibit-modification-hooks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';bug#15501.' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq-local'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'show-paren-mode' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 ';bug#16091.' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'add-hook'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'after-change-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'hide-chars-fun' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'local"      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'enable-recursive-minibuffers' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'read-hide-char' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'read-hide-char' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?.'          Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'read-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; t = "no history"' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-live-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'minibuf'     Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'minibuf'     Name.Variable
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; Not sure why but it seems that there might be cases where the' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; minibuffer is not always properly reset later on, so undo' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 ";; whatever we've done here (bug#11392)." Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'remove-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'after-change-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'hide-chars-fun' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'local"      Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'kill-local-variable' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'post-self-insert-hook" Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 ";; And of course, don't keep the sensitive data around." Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'erase-buffer' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'read-number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Read a numeric value in the minibuffer, prompting with PROMPT.\nDEFAULT specifies a default value to return if the user just types RET.\nThe value of DEFAULT is inserted into PROMPT.\nThis function is used by the ' Literal.String
 "`interactive'" Literal.String.Symbol
 "`n'"         Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'default1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'default1'    Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '('           Literal.String
 '\\\\'        Literal.String
 "'"           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'replace-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' (default %s)' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'default1'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'replace-regexp-in-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[ '          Literal.String
 '\\t'         Literal.String
 '\\\\'        Literal.String
 "'"           Literal.String
 '"'           Literal.String
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' (default %s) ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'default1'    Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-from-minibuffer' Name.Function
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
 'mapcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'number-to-string" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'delq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
 'number-to-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'condition-case' Keyword
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'default1'    Name.Variable
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Please enter a number.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'sit-for'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'read-char-choice' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'chars'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'inhibit-keyboard-quit' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Read and return one of CHARS, prompting for PROMPT.\nAny input that is not one of CHARS is ignored.\n\nIf optional argument INHIBIT-KEYBOARD-QUIT is non-nil, ignore\nkeyboard-quit events while waiting for a valid input.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'chars'       Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Called '     Literal.String
 "`read-char-choice'" Literal.String.Symbol
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'done'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'show-help'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'helpbuf'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' *Char Help*' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'cursor-in-echo-area' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'executing-kbd-macro' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'executing-kbd-macro' Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'esc-flag'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'save-window-excursion' Name.Builtin
-'\t      '    Text
+'\t      '    Text.Whitespace
 '; in case we call help-form-show' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'done'        Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-text-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'face"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'propertize'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'face"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'minibuffer-prompt" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'inhibit-quit' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inhibit-keyboard-quit' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 '('           Punctuation
 'read-key'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'show-help'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-live-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-buffer'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'helpbuf'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'kill-buffer' Name.Function
-' '           Text
+' '           Text.Whitespace
 'helpbuf'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ";; If caller has set help-form, that's enough." Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ";; They don't explicitly have to add help-char to chars." Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'help-form'   Name.Variable
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'help-char'   Name.Variable
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'show-help'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'help-form-show' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'chars'       Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'done'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'executing-kbd-macro' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; read-event returns -1 if we are in a kbd macro and' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; there are no more events in the macro.  Attempt to' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; get an event interactively.' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'executing-kbd-macro' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inhibit-keyboard-quit' Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'esc-flag'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\e'        Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'esc-flag'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '?\\C'        Literal.String.Char
 '-g'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\e'        Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'keyboard-quit' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Display the question with the answer.  But without cursor-in-echo-area.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s%s'        Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-to-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'char'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'char'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'sit-for'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'seconds'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'nodisp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obsolete'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Redisplay, then wait for SECONDS seconds.  Stop when input is available.\nSECONDS may be a floating-point value.\n' Literal.String
 
 '\\('         Literal.String
 'sit-for SECONDS &optional MILLISECONDS NODISP)\nwhere the optional arg MILLISECONDS specifies an additional wait period,\nin milliseconds; this was useful when Emacs was built without\nfloating point support.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'seconds'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'nodisp'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '22.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; This used to be implemented in C until the following discussion:' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; http://lists.gnu.org/archive/html/emacs-devel/2006-07/msg00401.html' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Then it was moved here using an implementation based on an idle timer,' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; which was then replaced by the use of read-event.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'nodisp'      Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'seconds'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'seconds'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '1e-3'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 'nodisp'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'nodisp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obsolete'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'nodisp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obsolete'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'noninteractive' Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'sleep-for'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'seconds'     Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'input-pending-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'seconds'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'nodisp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'redisplay'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'nodisp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'redisplay'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";; FIXME: we should not read-event here at all, because it's much too" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; difficult to reliably "undo" a read-event by pushing it onto' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; unread-command-events.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; For bug#14782, we need read-event to do the keyboard-coding-system' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; decoding (hence non-nil as second arg under POSIX ttys).' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; For bug#15614, we need read-event not to inherit-input-method.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; So we temporarily suspend input-method-function.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'read'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'input-method-function' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'read-event'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'seconds'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'read'        Name.Function
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; https://lists.gnu.org/archive/html/emacs-devel/2006-10/msg00394.html' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ";; We want `read' appear in the next command's this-command-event" Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; but not in the current one.' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ";; By pushing (cons t read), we indicate that `read' has not" Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; yet been recorded in this-command-keys, so it will be recorded' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ";; next time it's read." Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ";; And indeed the `seconds' argument to read-event correctly" Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ";; prevented recording this event in the current command's" Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; this-command-keys.' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'read'        Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unread-command-events' Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Behind display-popup-menus-p test.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'declare-function' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x-popup-dialog' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'menu.c'      Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'position'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'contents'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'header'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'y-or-n-p'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prompt'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Ask user a ' Literal.String
 '\\"'         Literal.String
 "`use-dialog-box'" Literal.String.Symbol
 ' is non-nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; ¡Beware! when I tried to edebug this code, Emacs got into a weird state' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; where all the keys were unbound (i.e. it somehow got triggered' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; within read-key, apparently).  I had to kill it.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'recenter"   Literal.String.Symbol
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'padded'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'dialog'      Name.Variable
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '?\\s'        Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'dialog'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '(y or n) '   Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'noninteractive' Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'padded'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'temp-prompt' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'act'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'skip'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'temp-prompt' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '"'           Literal.String
 'y'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Y'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'act"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '"'           Literal.String
 'n'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'N'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'skip"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'temp-prompt' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Please answer y or n.  ' Literal.String
 '"'           Literal.String
-'\n\t\t\t\t\t       ' Text
+'\n\t\t\t\t\t       ' Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'display-popup-menus-p' Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'listp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'last-nonmenu-event' Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 'use-dialog-box' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'padded'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x-popup-dialog' Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 ','           Operator
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 'Yes'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'act'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 'No'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'skip'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'padded'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'scroll-actions' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'recenter'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'scroll-up'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'scroll-down' Name.Function
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 'scroll-other-window' Name.Function
-' '           Text
+' '           Text.Whitespace
 'scroll-other-window-down' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'key'         Name.Variable
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'cursor-in-echo-area' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'minibuffer-auto-raise' Name.Variable
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'raise-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'minibuffer-window' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'read-key'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'propertize'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'scroll-actions' Name.Variable
 ')'           Punctuation
-'\n                                              ' Text
+'\n                                              ' Text.Whitespace
 'prompt'      Name.Variable
-'\n                                            ' Text
+'\n                                            ' Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Please answer y or n.  ' Literal.String
 '"'           Literal.String
-'\n                                                    ' Text
+'\n                                                    ' Text.Whitespace
 'prompt'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                                          ' Text
+'\n                                          ' Text.Whitespace
 "'face"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'minibuffer-prompt" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'query-replace-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vector'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'skip'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'act'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'recenter"   Literal.String.Symbol
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'recenter'    Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'scroll-up"  Literal.String.Symbol
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'ignore-errors' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'scroll-up-command' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'scroll-down" Literal.String.Symbol
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'ignore-errors' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'scroll-down-command' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'scroll-other-window" Literal.String.Symbol
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'ignore-errors' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'scroll-other-window' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'scroll-other-window-down" Literal.String.Symbol
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'ignore-errors' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'scroll-other-window-down' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'exit-prefix' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'quit'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\e'        Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'signal'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'quit"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'ding'        Name.Function
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'discard-input' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'ret'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'act"        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'noninteractive' Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s%c'        Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'prompt'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'ret'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?y'          Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '?n'          Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'ret'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; Atomic change groups.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'atomic-change-group' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Perform BODY as an atomic change group.\nThis means that if BODY exits abnormally,\nall of its changes to the current buffer are undone.\nThis works regardless of whether undo is enabled in the buffer.\n\nThis mechanism is transparent to ordinary use of undo;\nif undo is enabled in the buffer and BODY succeeds, the\nuser can undo the change normally.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'handle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '--change-group-handle--' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'success'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '--change-group-success--' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'handle'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prepare-change-group' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ";; Don't truncate any undo data in the middle of this." Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'undo-outer-limit' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'undo-limit'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'most-positive-fixnum' Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'undo-strong-limit' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'most-positive-fixnum' Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 ','           Operator
 'success'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ';; This is inside the unwind-protect because' Comment.Single
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ';; it enables undo if that was disabled; we need' Comment.Single
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ';; to make sure that it gets disabled again.' Comment.Single
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'activate-change-group' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'handle'      Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'success'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 ';; Either of these functions will disable undo' Comment.Single
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 ';; if it was disabled before.' Comment.Single
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'success'     Name.Variable
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'accept-change-group' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'handle'      Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'cancel-change-group' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'handle'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'prepare-change-group' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Return a handle for the current buffer's state, for a change group.\nIf you specify BUFFER, make a handle for BUFFER's state instead.\n\nPass the handle to " Literal.String
 "`activate-change-group'" Literal.String.Symbol
 "`cancel-change-group'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer-undo-list' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'buffer-undo-list' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'activate-change-group' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'handle'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Activate a change group made with ' Literal.String
 "`prepare-change-group'" Literal.String.Symbol
 ' (which see).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handle'      Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'buffer-undo-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-undo-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'accept-change-group' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'handle'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Finish a change group made with ' Literal.String
 "`prepare-change-group'" Literal.String.Symbol
 ' (which see).\nThis finishes the change group by accepting its changes as final.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handle'      Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-undo-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'cancel-change-group' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'handle'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Finish a change group made with ' Literal.String
 "`prepare-change-group'" Literal.String.Symbol
 ' (which see).\nThis finishes the change group by reverting all of its changes.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handle'      Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'save-restriction' Keyword
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; Widen buffer temporarily so if the buffer was narrowed within' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ";; the body of `atomic-change-group' all changes can be undone." Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'widen'       Name.Function
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'old-car'     Name.Variable
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'old-cdr'     Name.Variable
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; Temporarily truncate the undo log at ELT.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'last-command' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'undo"       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'undo-start'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ";; Make sure there's no confusion." Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pending-undo-list' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Undoing to some unrelated state' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; Undo it all.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'listp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'pending-undo-list' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'undo-more'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; Reset the modified cons cell ELT to its original content.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'old-car'     Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'old-cdr'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; Revert the undo info to what it was when we grabbed the state.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-undo-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Display-related functions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; For compatibility.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'redraw-modeline" Literal.String.Symbol
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'force-mode-line-update" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.3'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'momentary-string-display' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'exit-char'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Momentarily display STRING in the buffer at POS.\nDisplay remains until next event is input.\nIf POS is a marker, only its position is used; its buffer is ignored.\nOptional third arg EXIT-CHAR can be a character, event or event\ndescription list.  EXIT-CHAR defaults to SPC.  If the input is\nEXIT-CHAR it is swallowed; otherwise it is then available as\ninput (as a command if nothing else).\nDisplay MESSAGE (optional fourth arg) in the echo area.\nIf MESSAGE is nil, instructions to type EXIT-CHAR are displayed there.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'exit-char'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'exit-char'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '?\\s'        Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'ol'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'after-string" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'goto-char'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; To avoid trouble with out-of-bounds position' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; If the string end is off screen, recenter now.' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-end'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'recenter'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-height' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Type %s to continue editing.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'single-key-description' Name.Function
-' '           Text
+' '           Text.Whitespace
 'exit-char'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'event'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-key'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ";; `exit-char' can be an event, or an event description list." Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'exit-char'   Name.Variable
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'event'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'event-convert-list' Name.Function
-' '           Text
+' '           Text.Whitespace
 'exit-char'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'unread-command-events' Name.Variable
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'this-single-command-raw-keys' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'delete-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Overlay operations' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'copy-overlay' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'o'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a copy of overlay O.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'o1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-buffer' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'make-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 ";; FIXME: there's no easy way to find the" Comment.Single
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 ';; insertion-type of the two markers.' Comment.Single
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 '('           Punctuation
 'overlay-buffer' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'o1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'delete-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o1'          Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'o1'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'props'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'props'       Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'props'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'props'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'o1'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'remove-overlays' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Clear BEG and END of overlays whose property NAME has value VAL.\nOverlays might be moved and/or split.\nBEG and END default respectively to the beginning and end of buffer.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; This speeds up the loops over overlays.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-max'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'overlay-recenter' Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prog1'       Keyword
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'o'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlays-in' Name.Function
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-get' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; Either push this overlay outside beg...end' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; or split it to exclude beg...end' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; or delete it entirely (if it is contained in beg...end).' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'move-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-overlay' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'move-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'move-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'move-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'delete-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Miscellanea.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'suspend-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Normal hook run by ' Literal.String
 "`suspend-emacs'" Literal.String.Symbol
 ', before suspending.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'suspend-resume-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Normal hook run by ' Literal.String
 "`suspend-emacs'" Literal.String.Symbol
 ', after Emacs is continued.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'temp-buffer-show-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Normal hook run by ' Literal.String
 "`with-output-to-temp-buffer'" Literal.String.Symbol
 ' after displaying the buffer.\nWhen the hook runs, the temporary buffer is current, and the window it\nwas displayed in is selected.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'temp-buffer-setup-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Normal hook run by ' Literal.String
 "`with-output-to-temp-buffer'" Literal.String.Symbol
 ' at the start.\nWhen the hook runs, the temporary buffer is current.\nThis hook is normally set up with a function to put the buffer in Help\nmode.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defconst'    Keyword
-' '           Text
+' '           Text.Whitespace
 'user-emacs-directory' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'system-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'ms-dos"     Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; MS-DOS cannot have initial dot.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '"'           Literal.String
 '~/_emacs.d/' Literal.String
 '"'           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 '"'           Literal.String
 '~/.emacs.d/' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Directory beneath which additional per-user Emacs-specific files are placed.\nVarious programs in Emacs store information in this directory.\nNote that this should end with a directory separator.\nSee also ' Literal.String
 "`locate-user-emacs-file'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Misc. useful functions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'buffer-narrowed-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if the current buffer is narrowed.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '/='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-max'   Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-size' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'find-tag-default-bounds' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Determine the boundaries of the default tag, based on text at point.\nReturn a cons cell with the beginning and end of the found tag.\nIf there is no plausible default, return nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'bound'       Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 ";; Look at text around `point'." Comment.Single
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'skip-syntax-backward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w_'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'skip-syntax-forward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w_'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 ";; Look between `line-beginning-position' and `point'." Comment.Single
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'bound'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line-beginning-position' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'skip-syntax-backward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '^w_'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'bound'       Name.Variable
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bound'       Name.Variable
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'skip-syntax-backward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w_'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 ";; Look between `point' and `line-end-position'." Comment.Single
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'bound'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line-end-position' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'skip-syntax-forward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '^w_'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'bound'       Name.Variable
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bound'       Name.Variable
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'skip-syntax-forward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w_'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'from'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'find-tag-default' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Determine default tag to search for, based on text at point.\nIf there is no plausible default, return nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'bounds'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find-tag-default-bounds' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'bounds'      Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'buffer-substring-no-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'bounds'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'bounds'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'find-tag-default-as-regexp' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return regexp that matches the default tag at point.\nIf there is no tag at point, return nil.\n\nWhen in a major mode that does not provide its own\n' Literal.String
 
 "`find-tag-default-function'" Literal.String.Symbol
 ', return a regexp that matches the\nsymbol at point exactly.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tag'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'find-tag-default-function' Name.Variable
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'major-mode'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'find-tag-default-function" Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 "'find-tag-default" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'tag'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'regexp-quote' Name.Function
-' '           Text
+' '           Text.Whitespace
 'tag'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'find-tag-default-as-symbol-regexp' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return regexp that matches the default tag at point as symbol.\nIf there is no tag at point, return nil.\n\nWhen in a major mode that does not provide its own\n' Literal.String
 
 "`find-tag-default-function'" Literal.String.Symbol
 ', return a regexp that matches the\nsymbol at point exactly.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tag-regexp'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find-tag-default-as-regexp' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'tag-regexp'  Name.Variable
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'find-tag-default-function' Name.Variable
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'major-mode'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'find-tag-default-function" Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 "'find-tag-default" Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 "'find-tag-default" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '_<%s'        Literal.String
 '\\\\'        Literal.String
 '_>'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'tag-regexp'  Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'tag-regexp'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'play-sound'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sound'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'SOUND is a list of the form ' Literal.String
 '`'           Literal.String
 "`data-directory'" Literal.String.Symbol
 ".\n\n  :data DATA - read sound data from string DATA.\n\nExactly one of :file or :data must be present.\n\n  :volume VOL - set volume to VOL.  VOL must an integer in the\nrange 0..100 or a float in the range 0..1.0.  If not specified,\ndon't change the volume setting of the sound device.\n\n  :device DEVICE - play sound on DEVICE.  If not specified,\na system-dependent default device name is used.\n\nNote: :data and :device are currently not supported on Windows." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fboundp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 "'play-sound-internal" Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'play-sound-internal' Name.Function
-' '           Text
+' '           Text.Whitespace
 'sound'       Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'This Emacs binary lacks sound support' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'declare-function' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'w32-shell-dos-semantics' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w32-fns'     Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'shell-quote-argument' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argument'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Quote ARGUMENT for passing as argument to an inferior shell.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'system-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'ms-dos"     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Quote using double quotes, but escape any existing quotes in' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; the argument with backslashes.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[^'          Literal.String
 '\\"'         Literal.String
 ']'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '['           Literal.String
 '\\"'         Literal.String
 ']'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n                                 ' Text
+'\n                                 ' Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n   '     Text
+'\n\n   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'system-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'windows-nt" Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'w32-shell-dos-semantics' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 ';; First, quote argument so that CommandLineToArgvW will' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; understand it.  See' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; http://msdn.microsoft.com/en-us/library/17w5ykft%28v=vs.85%29.aspx' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; After we perform that level of quoting, escape shell' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";; metacharacters so that cmd won't mangle our argument.  If the" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; argument contains no double quote characters, we can just' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; surround it with double quotes.  Otherwise, we need to prefix' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; each shell metacharacter with a caret.' Comment.Single
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 ';; escape backslashes at end of string' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'replace-regexp-in-string' Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '('           Literal.String
 '\\\\'        Literal.String
 ')$'          Literal.String
 '"'           Literal.String
-'\n           ' Text
+'\n           ' Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '1'           Literal.String
 '\\\\'        Literal.String
 '1'           Literal.String
 '"'           Literal.String
-'\n           ' Text
+'\n           ' Text.Whitespace
 ';; escape backslashes and quotes in string body' Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'replace-regexp-in-string' Name.Variable
-'\n            ' Text
+'\n            ' Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '('           Literal.String
 ')'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-'\n            ' Text
+'\n            ' Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '1'           Literal.String
 '\\\\'        Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-'\n            ' Text
+'\n            ' Text.Whitespace
 'argument'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[%!'         Literal.String
 '\\"'         Literal.String
 ']'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-'\n         ' Text
+'\n         ' Text.Whitespace
 '"'           Literal.String
 '^'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'replace-regexp-in-string' Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '([%!()'      Literal.String
 '\\\\'        Literal.String
 ')'           Literal.String
 '"'           Literal.String
-'\n          ' Text
+'\n          ' Text.Whitespace
 '"'           Literal.String
 '^'           Literal.String
 '\\\\'        Literal.String
 '1'           Literal.String
 '"'           Literal.String
-'\n          ' Text
+'\n          ' Text.Whitespace
 'argument'    Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '"'           Literal.String
 '^'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n   '     Text
+'\n\n   '     Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '"'           Literal.String
 "''"          Literal.String
 '"'           Literal.String
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Quote everything except POSIX filename characters.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; This should be safe enough even for really weird shells.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'replace-regexp-in-string' Name.Variable
-'\n       '   Text
+'\n       '   Text.Whitespace
 '"'           Literal.String
 '\\n'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "'"           Literal.String
 '\\n'         Literal.String
 "'"           Literal.String
 '"'           Literal.String
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'replace-regexp-in-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[^-0-9a-zA-Z_./' Literal.String
 '\\n'         Literal.String
 ']'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '\\\\'        Literal.String
 '\\\\'        Literal.String
 '&'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'argument'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'string-or-null-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if OBJECT is a string or nil.\nOtherwise, return nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'booleanp'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if OBJECT is one of the two canonical boolean values: t or nil.\nOtherwise, return nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'special-form-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Non-nil if and only if OBJECT is a special form.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fboundp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indirect-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subrp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subr-arity'  Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'unevalled"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'macrop'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Non-nil if and only if OBJECT is a macro.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'def'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indirect-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'def'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'macro"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'def'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'autoloadp'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'def'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'def'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'macro'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'field-at-pos' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pos'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the field at position POS, taking stickiness etc into account.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'raw-field'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-char-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'field-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'field"      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'raw-field'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'boundary"   Literal.String.Symbol
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'get-char-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'field-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'field"      Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'raw-field'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'sha1'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'binary'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the SHA1 (Secure Hash Algorithm) of an OBJECT.\nOBJECT is either a string or a buffer.  Optional arguments START and\nEND are character positions specifying which portion of OBJECT for\ncomputing the hash.  If BINARY is non-nil, return a string in binary\nform.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'secure-hash' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'sha1"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'binary'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'function-get' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'autoload'    Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the value of property PROP of function F.\nIf AUTOLOAD is non-nil and F is autoloaded, try to autoload it\nin the hope that it will set PROP.  If AUTOLOAD is ' Literal.String
 "`macro'"     Literal.String.Symbol
 ", only do it\nif it's an autoloaded macro." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'fboundp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'fundef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'autoload'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'autoloadp'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fundef'      Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'fundef'      Name.Variable
-'\n                             ' Text
+'\n                             ' Text.Whitespace
 '('           Punctuation
 'autoload-do-load' Name.Function
-' '           Text
+' '           Text.Whitespace
 'fundef'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-'\n                                               ' Text
+'\n                                               ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'autoload'    Name.Function
-' '           Text
+' '           Text.Whitespace
 "'macro"      Literal.String.Symbol
 ')'           Punctuation
-'\n                                                   ' Text
+'\n                                                   ' Text.Whitespace
 "'macro"      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'nil'         Name.Constant
-'                         ' Text
+'                         ' Text.Whitespace
 ";Re-try `get' on the same `f'." Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fundef'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Support for yanking and text properties.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Why here in subr.el rather than in simple.el?  --Stef' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'yank-handled-properties' Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'yank-excluded-properties' Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'remove-yank-excluded-properties' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Process text properties between START and END, inserted for a ' Literal.String
 "`yank'"      Literal.String.Symbol
 "`yank-excluded-properties'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'inhibit-read-only' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'handler'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'yank-handled-properties' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'fun'         Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'run-start'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'run-start'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-text-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 'run-start'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'run-end'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'next-single-property-change' Name.Function
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 'run-start'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'fun'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'run-start'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'run-end'     Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'run-start'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'run-end'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'yank-excluded-properties' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'set-text-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'remove-list-of-text-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'yank-excluded-properties' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'yank-undo-function' Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'insert-for-yank' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Call '       Literal.String
 "`insert-for-yank-1'" Literal.String.Symbol
 "`insert-for-yank-1'" Literal.String.Symbol
 ' for more details.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'to'          Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'next-single-property-change' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'yank-handler" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'insert-for-yank-1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'to'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'insert-for-yank-1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'insert-for-yank-1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Insert STRING at point for the ' Literal.String
 "`yank'"      Literal.String.Symbol
 "`yank-undo-function'" Literal.String.Symbol
 ' to override UNDO.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'handler'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 '('           Punctuation
 'get-text-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'yank-handler" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'param'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'opoint'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'inhibit-read-only' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inhibit-read-only' Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'yank-undo-function' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; FUNCTION'  Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'param'       Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'insert'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'param'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 ';; Prevent read-only properties from interfering with the' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; following text property changes.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'inhibit-read-only' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; NOEXCLUDE' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'remove-yank-excluded-properties' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'opoint'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 ';; If last inserted char has properties, mark them as rear-nonsticky.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'opoint'      Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'text-properties-at' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'put-text-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'rear-nonsticky" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'yank-undo-function' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\t\t   '     Text
+'\t\t   '     Text.Whitespace
 '; not set by FUNCTION' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'yank-undo-function' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; UNDO'      Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
-'\t\t\t\t   ' Text
+'\t\t\t\t   ' Text.Whitespace
 '; COMMAND'   Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'this-command' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'insert-buffer-substring-no-properties' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Insert before point a substring of BUFFER, without text properties.\nBUFFER may be a buffer or a buffer name.\nArguments START and END are character positions specifying the substring.\nThey default to the values of (point-min) and (point-max) in BUFFER.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opoint'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'insert-buffer-substring' Name.Function
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'inhibit-read-only' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set-text-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 'opoint'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'insert-buffer-substring-as-yank' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Insert before point a part of BUFFER, stripping some text properties.\nBUFFER may be a buffer or a buffer name.\nArguments START and END are character positions specifying the substring.\nThey default to the values of (point-min) and (point-max) in BUFFER.\nBefore insertion, process text properties according to\n' Literal.String
 
 "`yank-excluded-properties'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Since the buffer text should not normally have yank-handler properties,' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; there is no need to handle them here.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opoint'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'insert-buffer-substring' Name.Function
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'remove-yank-excluded-properties' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'opoint'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'yank-handle-font-lock-face-property' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'face'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'If '         Literal.String
 "`font-lock-defaults'" Literal.String.Symbol
 "`face'"      Literal.String.Symbol
 ' property.\nSTART and END denote the start and end of the text to act on.\nDo nothing if FACE is nil.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'face'        Name.Variable
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'font-lock-defaults' Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'put-text-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'face"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'face'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; This removes `mouse-face' properties in *Help* buffer buttons:" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; http://lists.gnu.org/archive/html/emacs-devel/2002-04/msg00648.html' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'yank-handle-category-property' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'category'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Apply property category CATEGORY's properties between START and END." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'category'    Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'start2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'start2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'end2'        Name.Variable
-'     '       Text
+'     '       Text.Whitespace
 '('           Punctuation
 'next-property-change' Name.Function
-' '           Text
+' '           Text.Whitespace
 'start2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'original'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'text-properties-at' Name.Function
-' '           Text
+' '           Text.Whitespace
 'start2'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'set-text-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 'start2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end2'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-plist' Name.Function
-' '           Text
+' '           Text.Whitespace
 'category'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'add-text-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 'start2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end2'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'original'    Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'start2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end2'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Synchronous shell commands.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'start-process-shell-command' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Start a program in a subprocess.  Return the process object for it.\nNAME is name for process.  It is modified if necessary to make it unique.\nBUFFER is the buffer (or buffer name) to associate with the process.\n Process output goes at end of that buffer, unless you specify\n an output stream or filter function to handle the output.\n BUFFER may be also nil, meaning that this process is not associated\n with any buffer\nCOMMAND is the shell command to run.\n\nAn old calling convention accepted any number of arguments after COMMAND,\nwhich were just concatenated to COMMAND.  This is still supported but strongly\ndiscouraged.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; We used to use `exec' to replace the shell with the command," Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; but that failed to handle (...) and semicolon, etc.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'start-process' Name.Function
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'shell-file-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'shell-command-switch' Name.Variable
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'mapconcat'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'identity"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'start-file-process-shell-command' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Start a program in a subprocess.  Return the process object for it.\nSimilar to ' Literal.String
 "`start-process-shell-command'" Literal.String.Symbol
 "`start-file-process'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'start-file-process' Name.Variable
-'\n   '       Text
+'\n   '       Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-remote-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'default-directory' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/bin/sh'     Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'shell-file-name' Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-remote-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'default-directory' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '-c'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'shell-command-switch' Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'mapconcat'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'identity"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'call-process-shell-command' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'command'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'infile'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'display'     Name.Variable
-'\n\t\t\t\t\t   ' Text
+'\n\t\t\t\t\t   ' Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Execute the shell command COMMAND synchronously in separate process.\nThe remaining arguments are optional.\nThe program's input comes from file INFILE (nil means " Literal.String
 "`/dev/null'" Literal.String.Symbol
 "`call-process-shell-command'" Literal.String.Symbol
 ' returns immediately with value nil.\nOtherwise it waits for COMMAND to terminate and returns a numeric exit\nstatus or a signal description string.\nIf you quit, the process is killed with SIGINT, or SIGKILL if you quit again.\n\nAn old calling convention accepted any number of arguments after DISPLAY,\nwhich were just concatenated to COMMAND.  This is still supported but strongly\ndiscouraged.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'advertised-calling-convention' Name.Variable
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'command'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'infile'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'display'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.5'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; We used to use `exec' to replace the shell with the command," Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; but that failed to handle (...) and semicolon, etc.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'call-process' Name.Function
-' '           Text
+' '           Text.Whitespace
 'shell-file-name' Name.Variable
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'infile'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'display'     Name.Variable
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'shell-command-switch' Name.Variable
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'mapconcat'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'identity"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'command'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'process-file-shell-command' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'command'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'infile'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'display'     Name.Variable
-'\n\t\t\t\t\t   ' Text
+'\n\t\t\t\t\t   ' Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Process files synchronously in a separate process.\nSimilar to ' Literal.String
 "`call-process-shell-command'" Literal.String.Symbol
 "`process-file'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'advertised-calling-convention' Name.Variable
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'command'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'infile'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'display'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.5'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'process-file' Name.Variable
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-remote-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'default-directory' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/bin/sh'     Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'shell-file-name' Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'infile'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'display'     Name.Variable
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-remote-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'default-directory' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '-c'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'shell-command-switch' Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'mapconcat'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'identity"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'command'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Lisp macros to do various things temporarily.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'track-mouse' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Evaluate BODY with mouse movement events enabled.\nWithin a ' Literal.String
 "`track-mouse'" Literal.String.Symbol
 "`read-event'" Literal.String.Symbol
 '.\nNormally, mouse motion is ignored.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'internal--track-mouse' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-or-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute the forms in BODY with BUFFER-OR-NAME temporarily current.\nBUFFER-OR-NAME must be a buffer or the name of an existing buffer.\nThe value returned is the value of the last form in BODY.  See\nalso ' Literal.String
 "`with-temp-buffer'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'save-current-buffer' Keyword
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'set-buffer'  Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'buffer-or-name' Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'internal--before-with-selected-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'other-frame' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'selected-window' Name.Function
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ';; Selecting a window on another frame also changes that' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 ";; frame's frame-selected-window.  We must save&restore it." Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'selected-frame' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'other-frame' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'frame-selected-window' Name.Function
-' '           Text
+' '           Text.Whitespace
 'other-frame' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ';; Also remember the top-frame if on ttys.' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'selected-frame' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'other-frame' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'tty-top-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 'other-frame' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'internal--after-with-selected-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'state'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; First reset frame-selected-window.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-live-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";; We don't use set-frame-selected-window because it does not" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";; pass the `norecord' argument to Fselect_window." Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'select-window' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'norecord"   Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frame-live-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tty-top-frame' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'select-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'norecord"   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Then reset the actual selected-window.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-live-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'select-window' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'norecord"   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-selected-window' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Execute the forms in BODY with WINDOW as the selected window.\nThe value returned is the value of the last form in BODY.\n\nThis macro saves and restores the selected window, as well as the\nselected window of each frame.  It does not change the order of\nrecently selected windows.  If the previously selected window of\nsome frame is no longer live at the end of BODY, that frame's\nselected window is left alone.  If the selected window is no\nlonger live, then whatever window is selected at the end of BODY\nremains selected.\n\nThis macro uses " Literal.String
 "`save-current-buffer'" Literal.String.Symbol
 ' to save and restore the\ncurrent buffer, since otherwise its normal operation could\npotentially make a different buffer current.  It does not alter\nthe buffer list ordering.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'save-selected-window--state' Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'internal--before-with-selected-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'window'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'save-current-buffer' Keyword
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'select-window' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'save-selected-window--state' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'norecord"   Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'internal--after-with-selected-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'save-selected-window--state' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-selected-frame' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute the forms in BODY with FRAME as the selected frame.\nThe value returned is the value of the last form in BODY.\n\nThis macro saves and restores the selected frame, and changes the\norder of neither the recently selected windows nor the buffers in\nthe buffer list.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'old-frame'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'old-frame'   Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'old-buffer'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'old-buffer'  Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'old-frame'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'selected-frame' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 ','           Operator
 'old-buffer'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'select-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'norecord"   Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'frame-live-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-frame'   Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'select-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-frame'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'norecord"   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-live-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-buffer'  Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'set-buffer'  Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-buffer'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'save-window-excursion' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute BODY, then restore previous window configuration.\nThis macro saves the window configuration on the selected frame,\nexecutes BODY, then calls ' Literal.String
 "`set-window-configuration'" Literal.String.Symbol
 "`save-window-excursion'" Literal.String.Symbol
 ' cannot help.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'wconfig'     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-window-configuration' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set-window-configuration' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'internal-temp-output-buffer-show' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Internal function for ' Literal.String
 "`with-output-to-temp-buffer'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set-buffer-modified-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'goto-char'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'temp-buffer-show-function' Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'temp-buffer-show-function' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'window'      Name.Variable
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'window-combination-limit' Name.Function
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 ";; When `window-combination-limit' equals" Comment.Single
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 ";; `temp-buffer' or `temp-buffer-resize' and" Comment.Single
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 ";; `temp-buffer-resize-mode' is enabled in this" Comment.Single
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 ';; buffer bind it to t so resizing steals space' Comment.Single
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 ';; preferably from the window that was split.' Comment.Single
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'window-combination-limit' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'temp-buffer" Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'window-combination-limit' Name.Function
-'\n\t\t\t\t    ' Text
+'\n\t\t\t\t    ' Text.Whitespace
 "'temp-buffer-resize" Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'temp-buffer-resize-mode' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 't'           Name.Constant
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 'window-combination-limit' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'display-buffer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'window-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'selected-frame' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'make-frame-visible' Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'minibuffer-scroll-window' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'set-window-hscroll' Name.Function
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ";; Don't try this with NOFORCE non-nil!" Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'set-window-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; This should not be necessary.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'set-window-point' Name.Function
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ";; Run `temp-buffer-show-hook', with the chosen window selected." Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'with-selected-window' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'run-hooks'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'temp-buffer-show-hook" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Return nil.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Doc is very similar to with-temp-buffer-window.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-output-to-temp-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bufname'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Bind '       Literal.String
 "`standard-output'" Literal.String.Symbol
 "`with-temp-buffer-window'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'old-dir'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'old-dir'     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'buf'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'buf'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'old-dir'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'default-directory' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 ','           Operator
 'buf'         Name.Variable
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-buffer-create' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'bufname'     Name.Variable
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'prog1'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'kill-all-local-variables' Name.Function
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 ';; FIXME: delete_all_overlays' Comment.Single
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'default-directory' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-dir'     Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-read-only' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-file-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-undo-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'inhibit-read-only' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'inhibit-modification-hooks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'erase-buffer' Name.Function
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'run-hooks'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'temp-buffer-setup-hook" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'standard-output' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'buf'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'prog1'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'internal-temp-output-buffer-show' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'buf'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-temp-file' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Create a new buffer, evaluate BODY there, and write the buffer to FILE.\nThe value returned is the value of the last form in BODY.\nSee also ' Literal.String
 "`with-temp-buffer'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'temp-file'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'temp-file'   Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'temp-buffer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'temp-buffer' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'temp-file'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'file'        Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 ','           Operator
 'temp-buffer' Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'get-buffer-create' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'generate-new-buffer-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' *temp file*' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'prog1'       Keyword
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-buffer' Name.Variable
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-buffer' Name.Variable
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'write-region' Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-file'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-buffer' Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'kill-buffer' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-buffer' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-temp-message' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Display MESSAGE temporarily if non-nil while BODY is evaluated.\nThe original message is restored to the echo area after BODY has finished.\nThe value returned is the value of the last form in BODY.\nMESSAGE is written to the message log buffer if ' Literal.String
 "`message-log-max'" Literal.String.Symbol
 '\\"'         Literal.String
 ' to temporarily clear the echo area.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'current-message' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'current-message' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'temp-message' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'with-temp-message' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'temp-message' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'message'     Name.Function
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 ','           Operator
 'current-message' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-message' Name.Variable
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'current-message' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-message' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-message' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-message' Name.Variable
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'current-message' Name.Function
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'current-message' Name.Function
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-temp-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Create a temporary buffer, and evaluate BODY there like ' Literal.String
 "`progn'"     Literal.String.Symbol
 "`with-output-to-string'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'temp-buffer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'temp-buffer' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'temp-buffer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'generate-new-buffer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' *temp*'     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ';; FIXME: kill-buffer can change current-buffer in some odd cases.' Comment.Single
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-buffer' Name.Variable
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-buffer' Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'kill-buffer' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp-buffer' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-silent-modifications' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Execute BODY, pretending it does not modify the buffer.\nIf BODY performs real modifications to the buffer's text, other\nthan cosmetic ones, undo data may become corrupted.\n\nThis macro will run BODY normally, but doesn't count its buffer\nmodifications as being buffer modifications.  This affects things\nlike " Literal.String
 "`buffer-modified-p'" Literal.String.Symbol
 ", checking whether the file is locked by\nsomeone else, running buffer modification hooks, and other things\nof that nature.\n\nTypically used around modifications of text-properties which do\nnot really affect the buffer's content." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'modified'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'modified'    Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'modified'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-modified-p' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'buffer-undo-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'inhibit-read-only' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'inhibit-modification-hooks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n             ' Text
+'\n             ' Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'modified'    Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'restore-buffer-modified-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-output-to-string' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute BODY, return the text it sent to ' Literal.String
 "`standard-output'" Literal.String.Symbol
 ', as a string.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'standard-output' Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'get-buffer-create' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'generate-new-buffer-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' *string-output*' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'standard-output' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'standard-output' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'standard-output' Name.Variable
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'buffer-string' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'kill-buffer' Name.Function
-' '           Text
+' '           Text.Whitespace
 'standard-output' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-local-quit' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute BODY, allowing quits to terminate BODY but not escape further.\nWhen a quit terminates BODY, ' Literal.String
 "`with-local-quit'" Literal.String.Symbol
 "`inhibit-quit'" Literal.String.Symbol
 ' is nil.)'   Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'condition-case' Keyword
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'inhibit-quit' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'quit'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'quit-flag'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ';; This call is to give a chance to handle quit-flag' Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ';; in case inhibit-quit is nil.' Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ';; Without this, it will not be handled until the next function' Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ';; call, and that might allow it to exit thru a condition-case' Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ';; that intends to handle the quit signal next time.' Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'eval'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'ignore'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'while-no-input' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Execute BODY only as long as there's no pending input.\nIf input arrives, that ends the execution of BODY,\nand " Literal.String
 "`while-no-input'" Literal.String.Symbol
 "`while-no-input'" Literal.String.Symbol
 ' returns whatever value BODY produced.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'catch-sym'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'input'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'with-local-quit' Name.Builtin
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 "',catch-sym" Literal.String.Symbol
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'throw-on-input' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "',catch-sym" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'input-pending-p' Name.Function
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'condition-case-unless-debug' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'var'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'bodyform'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'handlers'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Like '       Literal.String
 "`condition-case'" Literal.String.Symbol
 "`debug-on-error'" Literal.String.Symbol
 ' is set then the debugger will be invoked\neven if this catches the signal.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'condition-case' Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'condition-case' Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'var'         Name.Variable
-'\n       '   Text
+'\n       '   Text.Whitespace
 ','           Operator
 'bodyform'    Name.Variable
-'\n     '     Text
+'\n     '     Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'mapcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'handler'     Name.Variable
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'listp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
-'\n                              ' Text
+'\n                              ' Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'handler'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 'handlers'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'condition-case-no-debug" Literal.String.Symbol
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'condition-case-unless-debug" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-demoted-errors' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Run BODY and demote any errors to simple messages.\nFORMAT is a string passed to ' Literal.String
 "`message'"   Literal.String.Symbol
 '\\"'         Literal.String
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'err'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'err'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'format'      Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'format'      Name.Function
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'prog1'       Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Error: %S'   Literal.String
 '"'           Literal.String
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'condition-case-unless-debug' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'err'         Name.Variable
-'\n         ' Text
+'\n         ' Text.Whitespace
 ','           Operator
 '('           Punctuation
 'macroexp-progn' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'err'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'combine-after-change-calls' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Execute BODY, but don't call the after-change functions till the end.\nIf BODY makes changes in the buffer, they are recorded\nand the functions on " Literal.String
 "`after-change-functions'" Literal.String.Symbol
 "`before-change-functions'" Literal.String.Symbol
 '\nin BODY.'  Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'unwind-protect' Keyword
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'combine-after-change-calls' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'combine-after-change-execute' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-case-table' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'table'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute the forms in BODY with TABLE as the current case table.\nThe value returned is the value of the last form in BODY.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'old-case-table' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'table'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'old-buffer'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'buffer'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'old-case-table' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-case-table' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 ','           Operator
 'old-buffer'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set-case-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'table'       Name.Variable
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'with-current-buffer' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-buffer'  Name.Variable
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'set-case-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-case-table' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-file-modes' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'modes'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute BODY with default file permissions temporarily set to MODES.\nMODES is as for ' Literal.String
 "`set-default-file-modes'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'umask'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'umask'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'umask'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'default-file-modes' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'set-default-file-modes' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'modes'       Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set-default-file-modes' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'umask'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; Matching and match data.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'save-match-data-internal' Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; We use save-match-data-internal as the local variable because' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; that works ok in practice (people should not use that variable elsewhere).' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; We used to use an uninterned symbol; the compiler handles that properly' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; now, but it generates slower code.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'save-match-data' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute the BODY forms, restoring the global value of the match data.\nThe value returned is the value of the last form in BODY.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; It is better not to use backquote here,' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; because that makes a bootstrapping problem' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; if you need to recompile all the Lisp files using interpreted code.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'let"        Literal.String.Symbol
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '('           Punctuation
 'save-match-data-internal' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-data'  Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'unwind-protect" Literal.String.Symbol
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'progn"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 ';; It is safe to free (evaporate) markers immediately here,' Comment.Single
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 ';; as Lisp programs should not copy from save-match-data-internal.' Comment.Single
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'set-match-data' Name.Function
-' '           Text
+' '           Text.Whitespace
 'save-match-data-internal' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'evaporate"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'match-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'num'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Return string of text matched by last search.\nNUM specifies which parenthesized expression in the last regexp.\n Value is nil if NUMth pair didn't match, or there were less than NUM pairs.\nZero means the entire text matched by the whole regexp or whole string.\nSTRING should be given if the last search was by " Literal.String
 "`string-match'" Literal.String.Symbol
 ' on STRING.\nIf STRING is nil, the current buffer should be the same buffer\nthe search/match was performed in.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'buffer-substring' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'match-string-no-properties' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'num'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Return string of text matched by last search, without text properties.\nNUM specifies which parenthesized expression in the last regexp.\n Value is nil if NUMth pair didn't match, or there were less than NUM pairs.\nZero means the entire text matched by the whole regexp or whole string.\nSTRING should be given if the last search was by " Literal.String
 "`string-match'" Literal.String.Symbol
 ' on STRING.\nIf STRING is nil, the current buffer should be the same buffer\nthe search/match was performed in.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'substring-no-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'buffer-substring-no-properties' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'match-substitute-replacement' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'replacement' Name.Variable
-'\n\t\t\t\t     ' Text
+'\n\t\t\t\t     ' Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'fixedcase'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'literal'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'subexp'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return REPLACEMENT as it will be inserted by ' Literal.String
 "`replace-match'" Literal.String.Symbol
 "`replace-match'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'match'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'save-match-data' Name.Builtin
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set-match-data' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mapcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t    ' Text
+'\n\t\t\t\t    ' Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t  ' Text
+'\n\t\t\t\t  ' Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t      ' Text
+'\n\t\t\t      ' Text.Whitespace
 '('           Punctuation
 'match-data'  Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'replace-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 'replacement' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fixedcase'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'literal'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'match'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'subexp'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'looking-back' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'limit'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'greedy'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if text before point matches regular expression REGEXP.\nLike ' Literal.String
 "`looking-at'" Literal.String.Symbol
 "`looking-back'" Literal.String.Symbol
 '\nwherever possible, since it is slow.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'pos'         Name.Variable
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 're-search-backward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '(?:'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 ')'           Literal.String
 '='           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'limit'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'greedy'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'save-restriction' Keyword
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'narrow-to-region' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'goto-char'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'backward-char' Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'looking-at'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '(?:'         Literal.String
 '"'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 ')'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'goto-char'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'looking-at'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '(?:'         Literal.String
 '"'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 ')'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'looking-at-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'regexp'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 '\\\n'        Literal.String
 
 "`looking-at'" Literal.String.Symbol
 ' except this function does not change the match data.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'inhibit-changing-match-data' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'looking-at'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'regexp'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'string-match-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 '\\\n'        Literal.String
 
 "`string-match'" Literal.String.Symbol
 ' except this function does not change the match data.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'inhibit-changing-match-data' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'subregexp-context-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if POS is in a normal subregexp context in REGEXP.\nA subregexp context is one where a sub-regexp can appear.\nA non-subregexp context is for example within brackets, or within a\nrepetition bounds operator ' Literal.String
 "`\\\\=\\\\{...\\\\}'" Literal.String.Symbol
 "`\\\\'"      Literal.String.Symbol
 '.\nIf START is non-nil, it should be a position in REGEXP, smaller\nthan POS, and known to be in a subregexp context.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; Here's one possible implementation, with the great benefit that it" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; reuses the regexp-matcher's own parser, so it understands all the" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; details of the syntax.  A disadvantage is that it needs to match the' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; error string.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'condition-case' Keyword
-' '           Text
+' '           Text.Whitespace
 'err'         Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'invalid-regexp' Name.Variable
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'err'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '"'           Literal.String
 'Unmatched [ or [^' Literal.String
 '"'           Literal.String
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 '"'           Literal.String
 'Unmatched '  Literal.String
 '\\\\'        Literal.String
 '{'           Literal.String
 '"'           Literal.String
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 '"'           Literal.String
 'Trailing backslash' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; An alternative implementation:' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; (defconst re-context-re' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;   (let* ((harmless-ch "[^\\\\[]")' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;          (harmless-esc "\\\\\\\\[^{]")' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;          (class-harmless-ch "[^][]")' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;          (class-lb-harmless "[^]:]")' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;          (class-lb-colon-maybe-charclass ":\\\\([a-z]+:]\\\\)?")' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;          (class-lb (concat "\\\\[\\\\(" class-lb-harmless' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;                            "\\\\|" class-lb-colon-maybe-charclass "\\\\)"))' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;          (class' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;           (concat "\\\\[^?]?"' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;                   "\\\\(" class-harmless-ch' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;                   "\\\\|" class-lb "\\\\)*"' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;                   "\\\\[?]"))     ; special handling for bare [ at end of re' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;          (braces "\\\\\\\\{[0-9,]+\\\\\\\\}"))' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;     (concat "\\\\`\\\\(" harmless-ch "\\\\|" harmless-esc' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;             "\\\\|" class "\\\\|" braces "\\\\)*\\\\\'"))' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;   "Matches any prefix that corresponds to a normal subregexp context.")' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; (string-match re-context-re (substring regexp (or start 0) pos))' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; split-string' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defconst'    Keyword
-' '           Text
+' '           Text.Whitespace
 'split-string-default-separators' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[ '          Literal.String
 '\\f'         Literal.String
 '\\v'         Literal.String
 ']+'          Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'The default value of separators for ' Literal.String
 "`split-string'" Literal.String.Symbol
 'as yet unimplemented).  Should not match non-breaking spaces.\n\nWarning: binding this to a different value and using it as default is\nlikely to have undesired semantics.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; The specification says that if both SEPARATORS and OMIT-NULLS are' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; defaulted, OMIT-NULLS should be treated as t.  Simplifying the logical' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; expression leads to the equivalent implementation that if SEPARATORS' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; is defaulted, OMIT-NULLS is treated as t.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'split-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'separators'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'omit-nulls'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'trim'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Split STRING into substrings bounded by matches for SEPARATORS.\n\nThe beginning and end of STRING, and each match for SEPARATORS, are\nsplitting points.  The substrings matching SEPARATORS are removed, and\nthe substrings between the splitting points are collected as a list,\nwhich is returned.\n\nIf SEPARATORS is non-nil, it should be a regular expression matching text\nwhich separates, but is not part of, the substrings.  If nil it defaults to\n' Literal.String
 
 "`save-match-data'" Literal.String.Symbol
 ' if necessary.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'keep-nulls'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'separators'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'omit-nulls'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'rexp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'separators'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'split-string-default-separators' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 'this-start'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'this-end'    Name.Variable
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 'notfirst'    Name.Variable
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'push-one'    Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; Push the substring in range THIS-START to THIS-END' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; onto LIST, trimming it and perhaps discarding it.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'trim'        Name.Variable
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 ';; Discard the trim from start of this substring.' Comment.Single
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tem'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 'trim'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'this-start'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'tem'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'this-start'  Name.Variable
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'this-start'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\t    '  Text
+'\n\n\t    '  Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'keep-nulls'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'this-start'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'this-end'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'this'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'this-start'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'this-end'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\t\t'    Text
+'\n\n\t\t'    Text.Whitespace
 ';; Discard the trim from end of this substring.' Comment.Single
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'trim'        Name.Variable
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tem'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'trim'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 "'"           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'tem'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'tem'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'tem'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\t\t'    Text
+'\n\n\t\t'    Text.Whitespace
 ';; Trimming could make it empty; check again.' Comment.Single
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'keep-nulls'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 'rexp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-'\n\t\t\t      ' Text
+'\n\t\t\t      ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'notfirst'    Name.Variable
-'\n\t\t\t\t       ' Text
+'\n\t\t\t\t       ' Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t       ' Text
+'\n\t\t\t\t       ' Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t  ' Text
+'\n\t\t\t\t  ' Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'notfirst'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'this-start'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'this-end'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n      '  Text
+'\n\n      '  Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'push-one'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 ';; Handle the substring at the end of STRING.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'this-start'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'this-end'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'push-one'    Name.Variable
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'combine-and-quote-strings' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'strings'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'separator'   Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Concatenate the STRINGS, adding the SEPARATOR (default ' Literal.String
 '\\"'         Literal.String
 '\\"'         Literal.String
 ').\nThis tries to quote the strings to avoid ambiguity such that\n  (split-string-and-unquote (combine-and-quote-strings strs)) == strs\nOnly some SEPARATORs will work properly.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'sep'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'separator'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 're'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '['           Literal.String
 '\\\\'        Literal.String
 '\\"'         Literal.String
 ']'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '|'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'regexp-quote' Name.Function
-' '           Text
+' '           Text.Whitespace
 'sep'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'mapconcat'   Name.Function
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str'         Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 're'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'replace-regexp-in-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '['           Literal.String
 '\\\\'        Literal.String
 '\\"'         Literal.String
 ']'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '\\\\'        Literal.String
 '\\\\'        Literal.String
 '&'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 'strings'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sep'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'split-string-and-unquote' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'separator'   Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Split the STRING into a list of strings.\nIt understands Emacs Lisp quoting within STRING, such that\n  (split-string-and-unquote (combine-and-quote-strings strs)) == strs\nThe SEPARATOR regexp defaults to ' Literal.String
 '\\"'         Literal.String
 '\\"'         Literal.String
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'sep'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'separator'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 's-+'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'split-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'sep'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '; no quoting:  easy' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'append'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'split-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sep'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rfs'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-from-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'rfs'         Name.Variable
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
 'split-string-and-unquote' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'rfs'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t' Text.Whitespace
 'sep'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Replacement in strings.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'subst-char-in-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fromchar'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tochar'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'inplace'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Replace FROMCHAR with TOCHAR in STRING each time it occurs.\nUnless optional argument INPLACE is non-nil, return a new string.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'newstr'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'inplace'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy-sequence' Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'newstr'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fromchar'    Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'aset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'newstr'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tochar'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'newstr'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'replace-regexp-in-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rep'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 'fixedcase'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'literal'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'subexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Replace all matches for REGEXP with REP in STRING.\n\nReturn a new string containing the replacements.\n\nOptional arguments FIXEDCASE, LITERAL and SUBEXP are like the\narguments with the same names of function ' Literal.String
 "`replace-match'" Literal.String.Symbol
 ' bar foo'    Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 ';; To avoid excessive consing from multiple matches in long strings,' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; don't just call `replace-match' continually.  Walk down the" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; string looking for matches of REGEXP and building up a (reversed)' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; list MATCHES.  This comprises segments of STRING which weren't" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; matched interspersed with replacements for segments that were.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; [For a `large' number of replacements it's more efficient to" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; operate in a temporary buffer; we can't tell from the function's" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; args whether to choose the buffer-based implementation, though it' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; might be reasonable to do so for long enough STRING.]' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'matches'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mb'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'me'          Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'save-match-data' Name.Builtin
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'mb'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 'me'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; If we matched the empty string, make sure we advance by one char' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'me'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mb'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'me'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'mb'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; Generate a replacement for the matched substring.' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; Operate only on the substring to minimize string consing.' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; Set up match data for the substring for replacement;' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; presumably this is likely to be faster than munging the' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; match data directly in Lisp.' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 'regexp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'mb'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'me'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'matches'     Name.Variable
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'replace-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'rep'         Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t       ' Text
+'\n\t\t\t\t       ' Text.Whitespace
 'rep'         Name.Variable
-'\n\t\t\t\t     ' Text
+'\n\t\t\t\t     ' Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'rep'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 'fixedcase'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'literal'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'subexp'      Name.Variable
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mb'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; unmatched prefix' Comment.Single
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 'matches'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'me'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Reconstruct a string from the pieces.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'matches'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'matches'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; leftover'  Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'matches'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'string-prefix-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prefix'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'ignore-case' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if PREFIX is a prefix of STRING.\nIf IGNORE-CASE is non-nil, the comparison is done without paying attention\nto case differences.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'prefix-length' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'prefix-length' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'compare-strings' Name.Function
-' '           Text
+' '           Text.Whitespace
 'prefix'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'prefix-length' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'prefix-length' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ignore-case' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'string-suffix-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'suffix'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
-'  '          Text
+'  '          Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'ignore-case' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return non-nil if SUFFIX is a suffix of STRING.\nIf IGNORE-CASE is non-nil, the comparison is done without paying\nattention to case differences.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'start-pos'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'string'      Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'suffix'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'start-pos'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'compare-strings' Name.Function
-' '           Text
+' '           Text.Whitespace
 'suffix'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'start-pos'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'ignore-case' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'bidi-string-mark-left-to-right' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'str'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a string that can be safely inserted in left-to-right text.\n\nNormally, inserting a string with right-to-left (RTL) script into\na buffer may cause some subsequent text to be displayed as part\nof the RTL segment (usually this affects punctuation characters).\nThis function returns a string which displays as STR but forces\nsubsequent text to be displayed as left-to-right.\n\nIf STR contains any RTL character, this function returns a string\nconsisting of STR followed by an invisible left-to-right mark\n' Literal.String
 
 '\\('         Literal.String
 'LRM) character.  Otherwise, it returns STR.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'signal'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'wrong-type-argument" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'stringp"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 'cR'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'propertize'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '?\\x'        Literal.String.Char
 '200e'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'invisible"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Specifying things to do later.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'load-history-regexp' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Form a regexp to find FILE in ' Literal.String
 "`load-history'" Literal.String.Symbol
 "`eval-after-load'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-name-absolute-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-truename' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-name-absolute-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '`'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '('           Literal.String
 ')'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'regexp-quote' Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-name-extension' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ";; Note: regexp-opt can't be used here, since we need to call" Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ';; this before Emacs has been fully started.  2006-05-21' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '('           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mapconcat'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'regexp-quote" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'load-suffixes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '|'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 ')?'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '('           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mapconcat'   Name.Function
-' '           Text
+' '           Text.Whitespace
 "'regexp-quote" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'jka-compr-load-suffixes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '|'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 ')?'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'load-history-filename-element' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-regexp' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Get the first elt of ' Literal.String
 "`load-history'" Literal.String.Symbol
 " whose car matches FILE-REGEXP.\nReturn nil if there isn't one." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'loads'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'load-history' Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'load-elt'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'loads'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'loads'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'save-match-data' Name.Builtin
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'loads'       Name.Variable
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'load-elt'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 'file-regexp' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'load-elt'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'loads'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'loads'       Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 'load-elt'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'loads'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'loads'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'load-elt'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 "'eval-after-load" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'lisp-indent-function" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eval-after-load' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Arrange that if FILE is loaded, FORM will be run immediately afterwards.\nIf FILE is already loaded, evaluate FORM right now.\nFORM can be an Elisp expression (in which case it's passed to " Literal.String
 "`eval'"      Literal.String.Symbol
 "`after-load-alist'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'compiler-macro' Name.Variable
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'whole'       Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'quote"      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car-safe'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 ';; Quote with lambda so the compiler can look inside.' Comment.Single
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'eval-after-load' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'whole'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; Add this FORM into after-load-alist (regardless of whether we'll be" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; evaluating it now).' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'regexp-or-feature' Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'purecopy'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'load-history-regexp' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'assoc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'regexp-or-feature' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'after-load-alist' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'func'        Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'functionp'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; Try to use the "current" lexical/dynamic mode for `form\'.' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'eval'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'form'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'lexical-binding' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'regexp-or-feature' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'after-load-alist' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";; Is there an already loaded file whose name (or `provide' name)" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; matches FILE?' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'prog1'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'load-history-filename-element' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'regexp-or-feature' Name.Variable
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'featurep'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'func'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'delayed-func' Name.Variable
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'regexp-or-feature' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'func'        Name.Variable
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; For features, the after-load-alist elements get run when' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ";; `provide' is called rather than at the end of the file." Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ";; So add an indirection to make sure that `func' is really run" Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 ';; "after-load" in case the provide call happens early.' Comment.Single
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'load-file-name' Name.Variable
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 ';; Not being provided from a file, run func right now.' Comment.Single
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'func'        Name.Variable
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'lfn'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'load-file-name' Name.Variable
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 ";; Don't use letrec, because equal (in" Comment.Single
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 ';; add/remove-hook) would get trapped in a cycle.' Comment.Single
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'fun'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'eval-after-load-helper' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'fset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'fun'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file'        Name.Variable
 ')'           Punctuation
-'\n                                 ' Text
+'\n                                 ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'lfn'         Name.Variable
 ')'           Punctuation
-'\n                                   ' Text
+'\n                                   ' Text.Whitespace
 '('           Punctuation
 'remove-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'after-load-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'fun'         Name.Variable
 ')'           Punctuation
-'\n                                   ' Text
+'\n                                   ' Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'func'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 'add-hook'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'after-load-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'fun'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'append"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ";; Add FORM to the element unless it's already there." Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'member'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'delayed-func' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'nconc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'elt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'delayed-func' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-eval-after-load' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Execute BODY after FILE is loaded.\nFILE is normally a feature name, but it can also be a file name,\nin case that file does not provide any feature.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'eval-after-load' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'after-load-functions' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Special hook run after loading a file.\nEach function there is called with a single argument, the absolute\nname of the file just loaded.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'do-after-load-evaluation' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'abs-file'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Evaluate all ' Literal.String
 "`eval-after-load'" Literal.String.Symbol
 ' forms, if any, for ABS-FILE.\nABS-FILE, a string, should be the absolute true name of a file just loaded.\nThis function is called directly from the C code.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Run the relevant eval-after-load forms.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a-l-element' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'after-load-alist' Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'a-l-element' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'string-match-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'a-l-element' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'abs-file'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; discard the file name regexp' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'mapc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "#'"          Name.Function
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'a-l-element' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Complain when the user uses obsolete files.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'save-match-data' Name.Builtin
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/obsolete/'  Literal.String
 '\\\\'        Literal.String
 '\\\\'        Literal.String
 "'"           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'abs-file'    Name.Variable
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'loaddefs.el' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'abs-file'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; Maybe we should just use display-warning?  This seems yucky...' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-name-nondirectory' Name.Function
-' '           Text
+' '           Text.Whitespace
 'abs-file'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'msg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Package %s is obsolete!' Literal.String
 '"'           Literal.String
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '.elc?'       Literal.String
 '\\\\'        Literal.String
 '>'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Cribbed from cl--compiling-file.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'boundp'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'byte-compile--outbuffer" Literal.String.Symbol
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'bufferp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'byte-compile--outbuffer" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'byte-compile--outbuffer" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '"'           Literal.String
 ' *Compiler Output*' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ";; Don't warn about obsolete files using other obsolete files." Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'byte-compile-current-file' Name.Variable
 ')'           Punctuation
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 '('           Punctuation
 'string-match-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/obsolete/[^/]*' Literal.String
 '\\\\'        Literal.String
 "'"           Literal.String
 '"'           Literal.String
-'\n\t\t\t\t       ' Text
+'\n\t\t\t\t       ' Text.Whitespace
 '('           Punctuation
 'expand-file-name' Name.Function
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 'byte-compile-current-file' Name.Variable
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 'byte-compile-root-dir' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'byte-compile-log-warning' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'run-with-timer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'msg'         Name.Variable
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 'msg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 ';; Finally, run any other hook.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'run-hook-with-args' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'after-load-functions" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'abs-file'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'eval-next-after-load' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Read the following input sexp, and run it whenever FILE is loaded.\nThis makes or adds to an entry on ' Literal.String
 "`after-load-alist'" Literal.String.Symbol
 '.\nFILE should be the name of a library, with no directory name.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'eval-after-load' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'eval-after-load' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'display-delayed-warnings' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Display delayed warnings from ' Literal.String
 "`delayed-warnings-list'" Literal.String.Symbol
 "`delayed-warnings-hook'" Literal.String.Symbol
 ' (which see).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'warning'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'delayed-warnings-list' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'apply'       Name.Function
-' '           Text
+' '           Text.Whitespace
 "'display-warning" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'warning'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'delayed-warnings-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'collapse-delayed-warnings' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Remove duplicates from ' Literal.String
 "`delayed-warnings-list'" Literal.String.Symbol
 "`delayed-warnings-hook'" Literal.String.Symbol
 ' (which see).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'collapsed'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'warning'     Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'delayed-warnings-list' Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'warning'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pop'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'delayed-warnings-list' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'warning'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'delayed-warnings-list' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'setcdr'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'warning'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s [%d times]' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'warning'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
 ')'           Punctuation
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'warning'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'warning'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'collapsed'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'delayed-warnings-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'collapsed'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; At present this is only used for Emacs internals.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Ref http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00085.html' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'delayed-warnings-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'collapse-delayed-warnings' Name.Variable
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 'display-delayed-warnings' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Normal hook run to process and display delayed warnings.\nBy default, this hook contains functions to consolidate the\nwarnings listed in ' Literal.String
 "`delayed-warnings-list'" Literal.String.Symbol
 ' back to nil.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'delay-warning' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'level'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer-name' Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Display a delayed warning.\nAside from going through ' Literal.String
 "`delayed-warnings-list'" Literal.String.Symbol
 "`display-warning'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'type'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'level'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer-name' Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'delayed-warnings-list' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; invisibility specs' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'add-to-invisibility-spec' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'element'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Add ELEMENT to ' Literal.String
 "`buffer-invisibility-spec'" Literal.String.Symbol
 "`buffer-invisibility-spec'" Literal.String.Symbol
 ' for the kind of elements\nthat can be added.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'buffer-invisibility-spec' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-invisibility-spec' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-invisibility-spec' Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer-invisibility-spec' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'remove-from-invisibility-spec' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'element'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Remove ELEMENT from ' Literal.String
 "`buffer-invisibility-spec'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'buffer-invisibility-spec' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'buffer-invisibility-spec' Name.Variable
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'delete'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'element'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer-invisibility-spec' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Syntax tables.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'with-syntax-table' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'table'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Evaluate BODY with syntax table of current buffer set to TABLE.\nThe syntax table of the current buffer is saved, BODY is evaluated, and the\nsaved table is restored, even in case of an abnormal exit.\nValue is what BODY returns.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'old-table'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'table'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'old-buffer'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'buffer'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'old-table'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'syntax-table' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 ','           Operator
 'old-buffer'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'current-buffer' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'unwind-protect' Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'set-syntax-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'table'       Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'save-current-buffer' Keyword
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'set-buffer'  Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-buffer'  Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'set-syntax-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'old-table'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'make-syntax-table' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'oldtable'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return a new syntax table.\nCreate a syntax table which inherits from OLDTABLE (if non-nil) or\nfrom ' Literal.String
 "`standard-syntax-table'" Literal.String.Symbol
 ' otherwise.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'table'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-char-table' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'syntax-table" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set-char-table-parent' Name.Function
-' '           Text
+' '           Text.Whitespace
 'table'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'oldtable'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'standard-syntax-table' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'table'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'syntax-after' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pos'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Return the raw syntax descriptor for the char after POS.\nIf POS is outside the buffer's accessible portion, return nil." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-max'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'st'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'parse-sexp-lookup-properties' Name.Variable
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'get-char-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'syntax-table" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'st'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'st'          Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'st'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'syntax-table' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-after'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'syntax-class' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'syntax'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the code for the syntax class described by SYNTAX.\n\nSYNTAX should be a raw syntax descriptor; the return value is a\ninteger which encodes the corresponding syntax class.  See Info\nnode ' Literal.String
 '`'           Literal.String
 "(elisp)Syntax Table Internals' for a list of codes.\n\nIf SYNTAX is nil, return nil." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'syntax'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'logand'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'syntax'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '65535'       Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';; Utility motion commands' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;  Whitespace' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'forward-whitespace' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arg'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Move point to the end of the next sequence of whitespace chars.\nEach such sequence may be a single newline, or a sequence of\nconsecutive space and/or tab characters.\nWith prefix argument ARG, do it ARG times if positive, or move\nbackwards ARG times if negative.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '^p'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'natnump'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 're-search-forward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[ '          Literal.String
 '\\t'         Literal.String
 '|'           Literal.String
 '\\n'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'move"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 're-search-backward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[ '          Literal.String
 '\\t'         Literal.String
 '|'           Literal.String
 '\\n'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'move"       Literal.String.Symbol
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-after'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?\\n'        Literal.String.Char
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'skip-chars-backward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '\\t'         Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;  Symbols' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'forward-symbol' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arg'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Move point to the next position that is the end of a symbol.\nA symbol is any sequence of characters that are in either the\nword constituent or symbol constituent syntax class.\nWith prefix argument ARG, do it ARG times if positive, or move\nbackwards ARG times if negative.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '^p'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'natnump'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 're-search-forward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '('           Literal.String
 '\\\\'        Literal.String
 ')+'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'move"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 're-search-backward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '('           Literal.String
 '\\\\'        Literal.String
 ')+'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 "'move"       Literal.String.Symbol
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'skip-syntax-backward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'w_'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;  Syntax blocks' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'forward-same-syntax' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Move point past all characters with the same syntax class.\nWith prefix argument ARG, do it ARG times if positive, or move\nbackwards ARG times if negative.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'interactive' Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '^p'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'skip-syntax-backward' Name.Function
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'char-to-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-syntax' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-before' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'skip-syntax-forward' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-to-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-syntax' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'char-after'  Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1-'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Text clones' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'text-clone--maintaining' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'text-clone--maintain' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 '_len'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Propagate the changes made under the overlay OL1 to the other clones.\nThis is used on the ' Literal.String
 "`modification-hooks'" Literal.String.Symbol
 ' property of text clones.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'after'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'undo-in-progress' Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'text-clone--maintaining' Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'margin'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-get' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clone-spreadp" Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'margin'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'margin'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-get' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clone-syntax" Literal.String.Symbol
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ";; Check content of the clone's text." Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'cbeg'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'margin'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'cend'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'margin'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'goto-char'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'cbeg'        Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'save-match-data' Name.Builtin
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 're-search-forward' Name.Function
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
 'overlay-get' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clone-syntax" Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cend'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 ';; Mark the overlay for deletion.' Comment.Single
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cbeg'        Name.Variable
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cend'        Name.Variable
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 ';; Shrink the clone at its end.' Comment.Single
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'move-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t  ' Text
+'\n\t\t\t\t  ' Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'margin'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cbeg'        Name.Variable
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 ';; Shrink the clone at its beginning.' Comment.Single
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'move-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-beginning' Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'margin'      Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t  ' Text
+'\n\t\t\t\t  ' Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; Now go ahead and update the clones.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'head'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'buffer-substring' Name.Function
-' '           Text
+' '           Text.Whitespace
 'beg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'nothing-left' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'text-clone--maintaining' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'dolist'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ol2'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-get' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clones" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'oe'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'oe'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'nothing-left' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'mod-beg'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-start' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'head'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 ";;(overlay-put ol2 'modification-hooks nil)" Comment.Single
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'goto-char'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-end' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'mod-beg'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
 'save-excursion' Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'insert'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
 'delete-region' Name.Function
-' '           Text
+' '           Text.Whitespace
 'mod-beg'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 ";;(overlay-put ol2 'modification-hooks '(text-clone--maintain))" Comment.Single
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'nothing-left' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'delete-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'text-clone-create' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'spreadp'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'syntax'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Create a text clone of START...END at point.\nText clones are chunks of text that are automatically kept identical:\nchanges done to one of the clones will be immediately propagated to the other.\n\nThe buffer's content at point is assumed to be already identical to\nthe one between START and END.\nIf SYNTAX is provided it's a regexp that describes the possible text of\nthe clones; the clone will be shrunk or killed if necessary to ensure that\nits text matches the regexp.\nIf SPREADP is non-nil it indicates that text inserted before/after the\nclone should be incorporated in the clone." Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; To deal with SPREADP we can either use an overlay with `nil t' along" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; with insert-(behind|in-front-of)-hooks or use a slightly larger overlay' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; (with a one-char margin at each end) with `t nil'." Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; We opted for a larger overlay because it behaves better in the case' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; where the clone is reduced to the empty string (we want the overlay to' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; stay when the clone's content is the empty string and we want to use" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; `evaporate' to make sure those overlays get deleted when needed)." Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';;'          Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pt-end'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  \t '     Text
+'\n  \t '     Text.Whitespace
 '('           Punctuation
 'start-margin' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'spreadp'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bobp'        Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-min'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  \t '     Text
+'\n  \t '     Text.Whitespace
 '('           Punctuation
 'end-margin'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'spreadp'     Name.Variable
 ')'           Punctuation
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'pt-end'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-max'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n  \t\t\t     ' Text
+'\n  \t\t\t     ' Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point-max'   Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  \t\t\t ' Text
+'\n  \t\t\t ' Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 ';; FIXME: Reuse overlays at point to extend dups!' Comment.Single
-'\n  \t '     Text
+'\n  \t '     Text.Whitespace
 '('           Punctuation
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'start-margin' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end-margin'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n  \t '     Text
+'\n  \t '     Text.Whitespace
 '('           Punctuation
 'ol2'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-overlay' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'point'       Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'start-margin' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'pt-end'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end-margin'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'dups'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'modification-hooks" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'text-clone--maintain' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'spreadp'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clone-spreadp" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'syntax'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clone-syntax" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'syntax'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";;(overlay-put ol1 'face 'underline)" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'evaporate"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol1'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clones" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dups'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';;'          Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'modification-hooks" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'text-clone--maintain' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'spreadp'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clone-spreadp" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'syntax'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clone-syntax" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'syntax'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";;(overlay-put ol2 'face 'underline)" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'evaporate"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'overlay-put' Name.Function
-' '           Text
+' '           Text.Whitespace
 'ol2'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'text-clones" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dups'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 ';;;; Mail user agents.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Here we include just enough for other packages to be able' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; to define them.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'define-mail-user-agent' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'composefunc' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sendfunc'    Name.Variable
-'\n\t\t\t\t      ' Text
+'\n\t\t\t\t      ' Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'abortfunc'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'hookvar'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Define a symbol to identify a mail-sending package for ' Literal.String
 "`mail-user-agent'" Literal.String.Symbol
 "`hookvar'"   Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'composefunc" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'composefunc' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'sendfunc"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'sendfunc'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'abortfunc"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'abortfunc'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'kill-buffer" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'put'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'hookvar"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'hookvar'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'mail-send-hook" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n'    Text
+'\n\x0c\n'    Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'called-interactively-p-functions' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Special hook called to skip special frames in ' Literal.String
 "`called-interactively-p'" Literal.String.Symbol
 ", FRAME2 is the next frame,\nI is the index of the frame after FRAME2.  It should return nil\nif those frames don't seem special and otherwise, it should return\nthe number of frames to skip (minus 1)." Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defconst'    Keyword
-' '           Text
+' '           Text.Whitespace
 'internal--funcall-interactively' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'symbol-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 "'funcall-interactively" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'called-interactively-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if the containing function was called by ' Literal.String
 "`call-interactively'" Literal.String.Symbol
 "`interactive'" Literal.String.Symbol
 " for KIND is in deciding\nwhether to display a helpful message, or how to display it.  If you're\nthinking of using it for any other purpose, it is quite likely that\nyou're making a mistake.  Think: what do you want to do when the\ncommand is called from a keyboard macro?" Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'advertised-calling-convention' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'kind'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.1'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'interactive" Literal.String.Symbol
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'executing-kbd-macro' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'noninteractive' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; 0 is the called-interactively-p frame.' Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nextframe'   Name.Variable
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'get-next-frame' Name.Variable
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nextframe'   Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'nextframe'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'backtrace-frame' Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'called-interactively-p" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 ';; (message "Frame %d = %S" i nextframe)' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'get-next-frame' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; Get the first frame.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-'\n          ' Text
+'\n          ' Text.Whitespace
 ';; FIXME: The edebug and advice handling should be made modular and' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 ';; provided directly by edebug.el and nadvice.el.' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'progn'       Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; frame    =(backtrace-frame i-2)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; nextframe=(backtrace-frame i-1)' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'get-next-frame' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 ";; `pcase' would be a fairly good fit here, but it sometimes moves" Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ';; branches within local functions, which then messes up the' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 ";; `backtrace-frame' data we get," Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-'\n             ' Text
+'\n             ' Text.Whitespace
 ';; Skip special forms (from non-compiled code).' Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ";; Skip also `interactive-p' (because we don't want to know if" Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 ";; interactive-p was called interactively but if it's caller was)" Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 ";; and `byte-code' (idem; this appears in subexpressions of things" Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 ';; like condition-case, which are wrapped in a separate bytecode' Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 ';; chunk).'  Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 ';; FIXME: For lexical-binding code, this is much worse,' Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 ';; because the frames look like "byte-code -> funcall -> #[...]",' Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 ';; which is not a reliable signature.' Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'interactive-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'byte-code"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 ';; Skip package-specific stack-frames.' Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'skip'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'run-hook-with-args-until-success' Name.Function
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 "'called-interactively-p-functions" Literal.String.Symbol
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nextframe'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'pcase'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'skip'        Name.Variable
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '`'           Operator
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '`'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 '_'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'skip'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'get-next-frame' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Now `frame\' should be "the function from which we were called".' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'pcase'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'frame'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nextframe'   Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ";; No subr calls `interactive-p', so we can rule that out." Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 '_'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'pred'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'subrp'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indirect-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '_'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '_'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ';; In case #<subr funcall-interactively> without going through the' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 ";; `funcall-interactively' symbol (bug#3984)." Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '`'           Operator
 '('           Punctuation
 ','           Operator
 '_'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'pred'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
 ')'           Punctuation
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'internal--funcall-interactively' Name.Variable
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 '('           Punctuation
 'indirect-function' Name.Function
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '_'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'interactive-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if the containing function was run directly by user input.\nThis means that the function was called with ' Literal.String
 "`call-interactively'" Literal.String.Symbol
 "`called-interactively-p'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'obsolete'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'called-interactively-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '23.2'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'called-interactively-p' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'interactive" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'internal-push-keymap' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 "'add-keymap-witness" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-composed-keymap' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'add-keymap-witness" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'internal-pop-keymap' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'symbol-value' Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setf'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'delq'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'keymap'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cddr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'keymapp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 "'add-keymap-witness" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'set'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define-obsolete-function-alias' Name.Builtin
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'set-temporary-overlay-map" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'set-transient-map" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '24.4'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'set-transient-map' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'keep-pred'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'on-exit'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Set MAP as a temporary keymap taking precedence over other keymaps.\nNormally, MAP is used only once, to look up the very next key.\nHowever, if the optional argument KEEP-PRED is t, MAP stays\nactive if a key from MAP is used.  KEEP-PRED can also be a\nfunction of no arguments: it is called from ' Literal.String
 "`pre-command-hook'" Literal.String.Symbol
 '\\"'         Literal.String
 ', which can be called with no argument\nto deactivate this transient map, regardless of KEEP-PRED.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'clearfun'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'clear-transient-map' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'exitfun'     Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'internal-pop-keymap' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'overriding-terminal-local-map" Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'remove-hook' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'pre-command-hook" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'clearfun'    Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'on-exit'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'on-exit'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ";; Don't use letrec, because equal (in add/remove-hook) would get trapped" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; in a cycle.' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'fset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'clearfun'    Name.Variable
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'lambda'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'with-demoted-errors' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'set-transient-map PCH: %S' Literal.String
 '"'           Literal.String
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'keep-pred'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cadr'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'overriding-terminal-local-map' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ";; There's presumably some other transient-map in" Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ';; effect.  Wait for that one to terminate before we' Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ';; remove ourselves.' Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ';; For example, if isearch and C-u both use transient' Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ';; maps, then the lifetime of the C-u should be nested' Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ";; within isearch's, so the pre-command-hook of" Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ';; isearch should be suspended during the C-u one so' Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ";; we don't exit isearch just because we hit 1 after" Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ";; C-u and that 1 exits isearch whereas it doesn't" Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 ';; exit C-u.' Comment.Single
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 'keep-pred'   Name.Variable
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'this-command' Name.Variable
-'\n                            ' Text
+'\n                            ' Text.Whitespace
 '('           Punctuation
 'lookup-key'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'this-command-keys-vector' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'keep-pred'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'funcall'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'exitfun'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'add-hook'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'pre-command-hook" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'clearfun'    Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'internal-push-keymap' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'overriding-terminal-local-map" Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'exitfun'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;; Progress reporters.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Progress reporter has the following structure:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;\t(NEXT-UPDATE-VALUE . [NEXT-UPDATE-TIME' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;\t\t\t      MIN-VALUE' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;\t\t\t      MAX-VALUE' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;\t\t\t      MESSAGE' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;\t\t\t      MIN-CHANGE' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;\t\t\t      MIN-TIME])' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; This weirdness is for optimization reasons: we want' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; `progress-reporter-update' to be as fast as possible, so" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; `(car reporter)' is better than `(aref reporter 0)'." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; NEXT-UPDATE-TIME is a float.  While `float-time' loses a couple" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; digits of precision, it doesn't really matter here.  On the other" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; hand, it greatly simplifies the code.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defsubst'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'progress-reporter-update' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'reporter'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Report progress of an operation in the echo area.\nREPORTER should be the result of a call to ' Literal.String
 "`make-progress-reporter'" Literal.String.Symbol
 "`make-progress-reporter'" Literal.String.Symbol
 '---then VALUE should be a number between\n MIN-VALUE and MAX-VALUE.\n\nIf REPORTER is a non-numerical reporter, VALUE should be nil.\n\nThis function is relatively inexpensive.  If the change since\nlast update is too small or insufficient time has passed, it does\nnothing.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numberp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 '; For pulsing reporter' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; For numerical reporter' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'progress-reporter-do-update' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'make-progress-reporter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'min-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'max-value'   Name.Variable
-'\n\t\t\t\t       ' Text
+'\n\t\t\t\t       ' Text.Whitespace
 'current-value' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'min-change'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'min-time'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return progress reporter object for use with ' Literal.String
 "`progress-reporter-update'" Literal.String.Symbol
 "`float-time'" Literal.String.Symbol
 ' is not present, time is not tracked at all.  If the\nOS is not capable of measuring fractions of seconds, this\nparameter is effectively rounded up.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[[:alnum:]]' Literal.String
 '\\\\'        Literal.String
 "'"           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '...'         Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'min-time'    Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'min-time'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.2'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'reporter'    Name.Variable
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 ";; Force a call to `message' now" Comment.Single
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'min-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'vector'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fboundp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 "'float-time" Literal.String.Symbol
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 'min-time'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.02'        Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
 'float-time'  Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 'min-value'   Name.Variable
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 'max-value'   Name.Variable
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 'message'     Name.Function
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'min-change'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'max'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'min-change'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '50'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 'min-time'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'progress-reporter-update' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 'current-value' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'min-value'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'reporter'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'progress-reporter-force-update' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'reporter'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'new-message' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Report progress of an operation in the echo area unconditionally.\n\nThe first two arguments are the same as in ' Literal.String
 "`progress-reporter-update'" Literal.String.Symbol
 '.\nNEW-MESSAGE, if non-nil, sets a new message for the reporter.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'new-message' Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'aset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'new-message' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'aset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float-time'  Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'progress-reporter-do-update' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'progress-reporter--pulse-characters' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '"'           Literal.String
 '-'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '|'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/'           Literal.String
 '"'           Literal.String
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Characters to use for pulsing progress reporters.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'progress-reporter-do-update' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'reporter'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'parameters'  Name.Variable
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'update-time' Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'min-value'   Name.Variable
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'max-value'   Name.Variable
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'text'        Name.Variable
-'         '   Text
+'         '   Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'enough-time-passed' Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; See if enough time has passed since the last update.' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'update-time' Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'float-time'  Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'update-time' Name.Variable
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 ';; Calculate time for the next update' Comment.Single
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'aset'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'update-time' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'min-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'max-value'   Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 ';; Numerical indicator' Comment.Single
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'let*'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'one-percent' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'max-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'min-value'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '100.0'       Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'percentage'  Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'max-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'min-value'   Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\t\t\t\t ' Text
+'\n\t\t\t\t ' Text.Whitespace
 '('           Punctuation
 'truncate'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'min-value'   Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t      ' Text
+'\n\t\t\t\t\t      ' Text.Whitespace
 'one-percent' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ';; Calculate NEXT-UPDATE-VALUE.  If we are not printing' Comment.Single
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ';; message because not enough time has passed, use 1' Comment.Single
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ';; instead of MIN-CHANGE.  This makes delays between echo' Comment.Single
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ';; area updates closer to MIN-TIME.' Comment.Single
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'setcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'min'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'min-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'percentage'  Name.Variable
-'\n\t\t\t\t\t     ' Text
+'\n\t\t\t\t\t     ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'enough-time-passed' Name.Variable
-'\n\t\t\t\t\t\t ' Text
+'\n\t\t\t\t\t\t ' Text.Whitespace
 ';; MIN-CHANGE' Comment.Single
-'\n\t\t\t\t\t\t ' Text
+'\n\t\t\t\t\t\t ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'parameters'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t\t\t       ' Text
+'\n\t\t\t\t\t       ' Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 'one-percent' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 'max-value'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integerp'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'setcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ceiling'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 ';; Only print message if enough time has passed' Comment.Single
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'enough-time-passed' Name.Variable
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'percentage'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s%d%%'      Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'text'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'percentage'  Name.Variable
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'text'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; Pulsing indicator' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'enough-time-passed' Name.Variable
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'index'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mod'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'message-log-max' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'setcar'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%s %s'       Literal.String
 '"'           Literal.String
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 'text'        Name.Variable
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'progress-reporter--pulse-characters' Name.Variable
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 'index'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'progress-reporter-done' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'reporter'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 "Print reporter's message followed by word " Literal.String
 '\\"'         Literal.String
 '\\"'         Literal.String
 ' in echo area.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%sdone'      Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'reporter'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dotimes-with-progress-reporter' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'spec'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '&rest'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Loop a certain number of times and report progress in the echo area.\nEvaluate BODY with VAR bound to successive integers running from\n0, inclusive, to COUNT, exclusive.  Then evaluate RESULT to get\nthe return value (nil if RESULT is omitted).\n\nAt each iteration MESSAGE followed by progress percentage is\nprinted in the echo area.  After the loop is finished, MESSAGE\nfollowed by word ' Literal.String
 '\\"'         Literal.String
 '\\('         Literal.String
 'fn (VAR COUNT [RESULT]) MESSAGE BODY...)' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'declare'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'indent'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'debug'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'symbolp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&optional'   Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'form'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'body'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '--dotimes-temp--' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'temp2'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '--dotimes-temp2--' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'end'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nth'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 ','           Operator
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'end'         Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'start'       Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 ','           Operator
 'temp2'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-progress-reporter' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'message'     Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'start'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp'        Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 ',@'          Operator
 'body'        Name.Variable
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'progress-reporter-update' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp2'       Name.Variable
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1+'          Name.Function
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'progress-reporter-done' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'temp2'       Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 'nil'         Name.Constant
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'spec'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;;; Comparing version strings.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defconst'    Keyword
-' '           Text
+' '           Text.Whitespace
 'version-separator' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Specify the string used to separate the version elements.\n\nUsually the separator is ' Literal.String
 '\\"'         Literal.String
 ', but it can be any other string.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defconst'    Keyword
-' '           Text
+' '           Text.Whitespace
 'version-regexp-alist' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '('           Punctuation
 '"'           Literal.String
 '^[-_+ ]?snapshot$' Literal.String
 '"'           Literal.String
-'                                 ' Text
+'                                 ' Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '-4'          Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; treat "1.2.3-20050920" and "1.2-3" as snapshot releases' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 '^[-_+]$'     Literal.String
 '"'           Literal.String
-'                                           ' Text
+'                                           ' Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '-4'          Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; treat "1.2.3-CVS" as snapshot release' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 '^[-_+ ]?'    Literal.String
 '\\\\'        Literal.String
 ')$'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '-4'          Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 '^[-_+ ]?alpha$' Literal.String
 '"'           Literal.String
-'                                    ' Text
+'                                    ' Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '-3'          Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 '^[-_+ ]?beta$' Literal.String
 '"'           Literal.String
-'                                     ' Text
+'                                     ' Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '-2'          Literal.Number.Integer
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 '^[-_+ ]?'    Literal.String
 '\\\\'        Literal.String
 ')$'          Literal.String
 '"'           Literal.String
-'                           ' Text
+'                           ' Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Specify association between non-numeric version and its priority.\n\nThis association is used to handle version string like ' Literal.String
 '\\"'         Literal.String
 ' to\n\t\tprevent false hits.  Letter-case is ignored while matching\n\t\tREGEXP.\n\nPRIORITY\ta negative integer specifying non-numeric priority of REGEXP.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'version-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ver'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Convert version string VER into a list of integers.\n\nThe version syntax is given by the following EBNF:\n\n   VERSION ::= NUMBER ( SEPARATOR NUMBER )*.\n\n   NUMBER ::= (0|1|2|3|4|5|6|7|8|9)+.\n\n   SEPARATOR ::= ' Literal.String
 "`version-separator'" Literal.String.Symbol
 "`version-regexp-alist'" Literal.String.Symbol
 '.'           Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stringp'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "Invalid version string: '%s'" Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Change .x.y to 0.x.y' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'version-separator' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'string-equal' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'version-separator' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 'version-separator' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '0'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'save-match-data' Name.Builtin
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'case-fold-search' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Constant
 ')'           Punctuation
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '; ignore case in matching' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 'lst'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'al'          Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[0-9]+'      Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; handle numeric part' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cons'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-to-number' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 'i'           Name.Variable
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; handle non-numeric part' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '[^0-9]+'     Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-end'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; handle alpha, beta, pre, etc. separator' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'unless'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string='     Name.Function
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'version-separator' Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'al'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'version-regexp-alist' Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'al'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'caar'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'al'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'al'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'al'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'al'          Name.Variable
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdar'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'al'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 ';; Convert 22.3a to 22.3.1, 22.3b to 22.3.2, etc.' Comment.Single
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '^[-_+ ]?'    Literal.String
 '\\\\'        Literal.String
 '\\\\'        Literal.String
 ')$'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'push'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'downcase'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'match-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?a'          Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "Invalid version syntax: '%s'" Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'error'       Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "Invalid version syntax: '%s'" Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'nreverse'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'version-list-<' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if L1, a list specification of a version, is lower than L2.\n\nNote that a version specified by the list (1) is equal to (1 0),\n' Literal.String
 
 '\\('         Literal.String
 '1 0 0), (1 0 0 0), etc.  That is, the trailing zeros are insignificant.\nAlso, a version given by the list (1) is higher than (1 -1), which in\nturn is higher than (1 -2), which is higher than (1 -3).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 'l2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 not null and l2 not null' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 null and l2 null         ==> l1 length = l2 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 not null and l2 null     ==> l1 length > l2 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-list-not-zero' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 null and l2 not null     ==> l2 length > l1 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-list-not-zero' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'version-list-=' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if L1, a list specification of a version, is equal to L2.\n\nNote that a version specified by the list (1) is equal to (1 0),\n' Literal.String
 
 '\\('         Literal.String
 '1 0 0), (1 0 0 0), etc.  That is, the trailing zeros are insignificant.\nAlso, a version given by the list (1) is higher than (1 -1), which in\nturn is higher than (1 -2), which is higher than (1 -3).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 'l2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 not null and l2 not null' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 null and l2 null     ==> l1 length = l2 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 not null and l2 null ==> l1 length > l2 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-list-not-zero' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 null and l2 not null ==> l2 length > l1 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-list-not-zero' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'version-list-<=' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if L1, a list specification of a version, is lower or equal to L2.\n\nNote that integer list (1) is equal to (1 0), (1 0 0), (1 0 0 0),\netc.  That is, the trailing zeroes are insignificant.  Also, integer\nlist (1) is greater than (1 -1) which is greater than (1 -2)\nwhich is greater than (1 -3).' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 'l2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 not null and l2 not null' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 null and l2 null     ==> l1 length = l2 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 not null and l2 null ==> l1 length > l2 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'l1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-list-not-zero' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 ';; l1 null and l2 not null ==> l2 length > l1 length' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 't'           Name.Constant
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 '<='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-list-not-zero' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'version-list-not-zero' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lst'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return the first non-zero element of LST, which is a list of integers.\n\nIf all LST elements are zeros or LST is nil, return zero.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zerop'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cdr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ';; there is no element different of zero' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'version<'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if version V1 is lower (older) than V2.\n\nNote that version string ' Literal.String
 '\\"'         Literal.String
 '\\"'         Literal.String
 ' are treated as snapshot versions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'version-list-<' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'version<='   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if version V1 is lower (older) than or equal to V2.\n\nNote that version string ' Literal.String
 '\\"'         Literal.String
 '\\"'         Literal.String
 ' are treated as snapshot versions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'version-list-<=' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'version='    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Return t if version V1 is equal to V2.\n\nNote that version string ' Literal.String
 '\\"'         Literal.String
 '\\"'         Literal.String
 ' are treated as snapshot versions.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'version-list-=' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'version-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defvar'      Keyword
-' '           Text
+' '           Text.Whitespace
 'package--builtin-versions' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; Mostly populated by loaddefs.el via autoload-builtin-package-versions.' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'purecopy'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
 '('           Punctuation
 'emacs'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 'version-to-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'emacs-version' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Alist giving the version of each versioned builtin package.\nI.e. each element of the list is of the form (NAME . VERSION) where\nNAME is the package name as a symbol, and VERSION is its version\nas a list.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'package--description-file' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dir'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'subdir'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file-name-nondirectory' Name.Function
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'directory-file-name' Name.Function
-' '           Text
+' '           Text.Whitespace
 'dir'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '([^.].*?'    Literal.String
 '\\\\'        Literal.String
 ')'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'subdir'      Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'match-string' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'subdir'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'subdir'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '"'           Literal.String
 '-pkg.el'     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; Misc.'   Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defconst'    Keyword
-' '           Text
+' '           Text.Whitespace
 'menu-bar-separator' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '"'           Literal.String
 '--'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Separator for menus.' Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; The following statement ought to be in print.c, but `provide' can't" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; be used there.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; http://lists.gnu.org/archive/html/emacs-devel/2009-08/msg00236.html' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hash-table-p' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'car'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-from-string' Name.Function
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
 'prin1-to-string' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-hash-table' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'provide'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'hashtable-print-readable" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; This is used in lisp/Makefile.in and in leim/Makefile.in to' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; generate file names for autoloads, custom-deps, and finder-data.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'defun'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'unmsys--file-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'file'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"'           Literal.String
 'Produce the canonical file name for FILE from its MSYS form.\n\nOn systems other than MS-Windows, just returns FILE.\nOn MS-Windows, converts /d/foo/bar form of file names\npassed by MSYS Make into d:/foo/bar that Emacs can grok.\n\nThis function is called from lisp/Makefile and leim/Makefile.' Literal.String
 '"'           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'eq'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'system-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'windows-nt" Literal.String.Symbol
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'string-match' Name.Function
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 '`'           Literal.String
 '/[a-zA-Z]/'  Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setq'        Keyword
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'concat'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ':'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'substring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';;; subr.el ends here' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
index bb5332f4fb84c9b03a822786ec4cba423650b53a..efaa84e3f7babc788a4c044272208e7895bf16fd 100644 (file)
 ';;; example.xtm -- Extempore code examples ' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Author: Ben Swift, Andrew Sorensen' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Keywords: extempore' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Commentary:' Comment.Single
-'\n\n\n\n'    Text
+'\n\n\n\n'    Text.Whitespace
 
 ';;; Code:'   Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; bit twiddling' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_bit_twiddle_1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'bitwise-and' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '65535'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '255'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '15'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_bit_twiddle_1' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_bit_twiddle_2' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'bitwise-not' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_bit_twiddle_2' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_bit_twiddle_3' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'bitwise-not' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_bit_twiddle_3' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_bit_twiddle_4' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'bitwise-shift-right' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '65535'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'bitwise-shift-right' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '65535'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_bit_twiddle_4' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '255'         Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_bit_twiddle_5' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'bitwise-shift-left' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bitwise-shift-right' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '65535'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_bit_twiddle_5' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '65280'       Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_bit_twiddle_6' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'bitwise-and' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bitwise-or'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bitwise-eor' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '21844'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '65534'       Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bitwise-eor' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '43690'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '65534'       Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_bit_twiddle_6' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; integer literals default to 64 bit integers' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'int-literal-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'int-literal-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '30'          Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; float literals default to doubles' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'float-literal-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'float-literal-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '6.0'         Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '30.0'        Literal.Number.Float
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; you are free to recompile an existing closure' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'int-literal-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'int-literal-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '30'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'closure-test1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'power'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'set!'        Keyword
-' '           Text
+' '           Text.Whitespace
 'power'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'power'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; set! for closure mutation as per scheme' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'power'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'closure-test1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'closure-returns-closure-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'closure-returns-closure-test' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'incrementer-test1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incr'        Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'set!'        Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'incr'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'incrementer-test1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'myf'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incrementer-test1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; so we need to type f properly' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'incrementer-test2' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
 ':[i64,i64]*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'incrementer-test2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'myf'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; and we can call my-in-maker-wrapper' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; to appy myf' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incrementer-test2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'myf'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incrementer-test2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'myf'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incrementer-test2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'myf'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; of course the wrapper is only required if you' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; need interaction with the scheme world.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; otherwise you just call my-inc-maker directly' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; this avoids the wrapper completely' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'incrementer-test3' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incrementer-test1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'incrementer-test3' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incrementer-test3' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incrementer-test3' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; hopefully you're getting the idea." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; note that once we've compiled something" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; we can then use it any of our new' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; function definitions.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; do a little 16bit test' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'bitsize-sixteen' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ':i16'        Keyword.Type
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'dtoi16'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i16tod'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '5.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'bitsize-sixteen' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '25'          Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; while loop test' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_while_loop_1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'while'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"count = %lld\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'set!'        Keyword
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'count'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_while_loop_1' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Closures can be recursive' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'recursive-closure-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"done\\n"'   Literal.String
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"a: %lld\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'recursive-closure-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'recursive-closure-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; check TAIL OPTIMIZATION' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; if there is no tail call optimiation' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; in place then this should blow the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; stack and crash the test' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; CANNOT RUN THIS TEST ON WINDOWS (i.e. no salloc)!' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'equal?'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sys:platform' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"Windows"'   Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'tail_opt_test' Name.Function
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
 ':float*'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'salloc'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '8000'        Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"tail opt test passed!\\n"' Literal.String
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'tail_opt_test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n             ' Text
+'\n\n             ' Text.Whitespace
 '('           Punctuation
 'tail_opt_test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '200'         Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    \n'    Text
+'\n    \n'    Text.Whitespace
 
 '('           Punctuation
 'println'     Name.Function
-' '           Text
+' '           Text.Whitespace
 "'A"          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'segfault"   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'here"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'incidates"  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'that"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'tail-call-optimizations" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'are"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'not"        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'working!"   Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; some anon lambda tests' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'infer_lambdas_test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'          \n                ' Text
+'          \n                ' Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'infer_lambdas_test' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; a simple tuple example' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; tuple types are represented as <type,type,type>*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; make and return a simple tuple' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'tuple-test1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 't'           Name.Variable
 ':<i64,double,i32>*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'tuple-test1' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; logview shows [<i64,double,i32>*]*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; i.e. a closure that takes no arguments' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; and returns the tuple <i64,double,i32>*' Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ";; here's another tuple example" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; note that my-test-7's return type is inferred" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; by the tuple-reference index' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (i.e. i64 being tuple index 0)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'tuple-test2' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
 ':<i64,double>*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; returns pointer to type <i64,double>' Comment.Single
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '37'          Literal.Number.Integer
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '6.4'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tuple-set!'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; set i64 to 64' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; set double to 6.4 - tset! is an alias for tuple-set!' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"tuple:1 %lld::%f\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tuple-ref'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; we can fill a tuple in a single call by using tfill!' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tfill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '77'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '77.7'        Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"tuple:2 %lld::%f\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tuple-ref'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tuple-ref'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tuple-ref'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'tuple-test2' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '77'          Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; return first element which is i64' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; should be 64 as we return the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; first element of the tuple' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (println (my-test-7)) ; 77' Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';; tbind binds variables to values' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; based on tuple structure' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; _ (underscore) means don't attempt" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; to match against this position in' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; the tuple (i.e. skip)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'tuple-bind-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 't1'          Name.Variable
 ':<i32,float,<i32,float>*,double>*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 't2'          Name.Variable
 ':<i32,float>*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name.Variable
 ':float'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tfill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3.3'         Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tfill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tbind'       Name.Function
-' '           Text
+' '           Text.Whitespace
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'tuple-bind-test' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; some array code with *casting*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; this function returns void' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'array-test1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'v1'          Name.Variable
 ':|5,float|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'v2'          Name.Variable
 ':|5,float|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 ';; random returns double so "truncate" to float' Comment.Single
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 ';; which is what v expects' Comment.Single
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'array-set!'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtof'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'random'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; we can use the afill! function to fill an array' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'afill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1.1'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '2.2'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.3'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '4.4'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '5.5'         Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 ";; unfortunately printf doesn't like floats" Comment.Single
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 ';; so back to double for us :(' Comment.Single
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"val: %lld::%f::%f\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-ref'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'array-test1' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; some crazy array code with' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; closures and arrays' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; try to figure out what this all does' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; this example uses the array type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; the pretty print for this type is' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; |num,type| num elements of type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; |5,i64| is an array of 5 x i64' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; An array is not a pointer type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; i.e. |5,i64| cannot be bitcast to i64*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; However an array can be a pointer' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; i.e. |5,i64|* can be bitcast to i64*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; i.e. |5,i64|** to i64** etc..' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; make-array returns a pointer to an array' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; i.e. (make-array 5 i64) returns type |5,i64|*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; aref (array-ref) and aset! (array-set!)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; can operate with either pointers to arrays or' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; standard pointers.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; in other words aref and aset! are happy' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; to work with either i64* or |5,i64|*' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'array-test2' Name.Function
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v'           Name.Variable
 ':|5,i64|*'   Keyword.Type
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array-ref'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'array-test3' Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v'           Name.Variable
 ':|5,[i64,i64]*|*' Keyword.Type
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'ff'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; aref alias for array-ref' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'ff'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'array-test4' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'v'           Name.Variable
 ':|5,[i64,i64]*|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; make an array of closures!' Comment.Single
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'vv'          Name.Variable
 ':|5,i64|*'   Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'array-set!'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'vv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array'       Name.Function
 '-test2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'vv'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; aset! alias for array-set!' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'array'       Name.Function
 '-test3'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 ';; try to guess the answer before you call this!!' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'array-test4' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; some conditionals' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'cond-test1'  Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ':i64'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 'x'           Name.Variable
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
 '-test1'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '12'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '13'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; returns boolean true' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'cond-test2'  Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"A\\n"'      Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"B\\n"'      Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"C\\n"'      Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"D\\n"'      Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"E\\n"'      Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
 '-test2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; making a linear envelop generator' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; for signal processing and alike' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'envelope-segments' Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'points'      Name.Variable
 ':double*'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'num-of-points' Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'lines'       Name.Variable
 ':[double,double]**' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zone-alloc'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'num-of-points' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'num-of-points' Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'let*'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'idx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'x1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pointer-ref' Name.Function
-' '           Text
+' '           Text.Whitespace
 'points'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'idx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'y1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pointer-ref' Name.Function
-' '           Text
+' '           Text.Whitespace
 'points'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'idx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'x2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pointer-ref' Name.Function
-' '           Text
+' '           Text.Whitespace
 'points'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'idx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'y2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pointer-ref' Name.Function
-' '           Text
+' '           Text.Whitespace
 'points'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'idx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x1'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'y2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x1'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'y2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'time'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'pointer-set!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'lines'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'lines'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'make-envelope' Name.Function
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'points'      Name.Variable
 ':double*'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'num-of-points' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'klines'      Name.Variable
 ':[double,double]**' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'envelope-segments' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'points'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'num-of-points' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'line-length' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'num-of-points' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'time'        Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'res'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-1.0'        Literal.Number.Float
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'k'           Name.Variable
 ':i64'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'num-of-points' Name.Variable
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'line'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pointer-ref' Name.Function
-' '           Text
+' '           Text.Whitespace
 'klines'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'time-point'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pointer-ref' Name.Function
-' '           Text
+' '           Text.Whitespace
 'points'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t     ' Text
+'\n\t\t     ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'time-point'  Name.Variable
 ')'           Punctuation
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'time-point'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
 'set!'        Keyword
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 'res'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; make a convenience wrapper' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'env-wrap'    Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let*'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'points'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'data'        Name.Variable
 ':double*'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zone-alloc'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'points'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'pointer-set!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; point data' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'pset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'pset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2.0'         Literal.Number.Float
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'pset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'pset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'pset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-env'    Name.Function
 'elope'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'points'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'time'        Name.Variable
 ':double'     Keyword.Type
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'env-wrap'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'env-wrap'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0.5'         Literal.Number.Float
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'env-wrap'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2.0'         Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'env-wrap'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2.5'         Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0.75'        Literal.Number.Float
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'env-wrap'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; direct access to a closures environment' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; it is possible to directly access a closures' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; environment in order to read or modify data' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; at runtime.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; You do this using a dot operator' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; To access an environment slot you use' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; closure.slot:type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; So for example' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (f.a:i32)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; would return the 32bit integer symbol 'a'" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; from the closure 'f'" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; To set an environment slot you just' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; add a value of the correct type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; for example' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (f.a:i32 565)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; would set 'a' in 'f' to 565" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; let's create a closure that capture's 'a'" Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'dot-access-test1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
 ':i32'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"a:%d\\n"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'do'          Keyword
 't-access-test1' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; now let's create a new function" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; that calls my-test14 twice' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; once normally' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; then we directly set the closures 'a' binding" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; then call again' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'dot-access-test2' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ':i32'        Keyword.Type
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'dot-access-test1' Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'dot-access-test1.a' Name.Variable
 ':i32'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'dot-access-test1' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'do'          Keyword
 't-access-test2' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; of course this works just as well for' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; non-global closures' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'dot-access-test3' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ':i32'        Keyword.Type
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'do'          Keyword
 't-access-test3' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'dot-access-test4' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dot-access-test3' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'f.a'         Name.Variable
 ':i32'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'do'          Keyword
 't-access-test4' Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '21'          Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; and you can get and set closures also!' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'dot-access-test5' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'z'           Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'do'          Keyword
 't-access-test5' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'dot-access-test6' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dot-access-test5' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dot-access-test5' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; identity of 5' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%lld:%lld\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 't1.f'        Name.Variable
 ':[i64,i64]*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; square of 5' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%lld:%lld\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; cube of 5' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 't2.f'        Name.Variable
 ':[i64,i64]*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%lld:%lld\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'void'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'do'          Keyword
 't-access-test6' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; 5:5 > 25:5 > 25:125' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; named types' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; it can sometimes be helpful to allocate' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; a predefined tuple type on the stack' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; you can do this using allocate' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-type'   Keyword
-' '           Text
+' '           Text.Whitespace
 'vec3'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '<double,double,double>' Keyword.Type
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; String printing!' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'vec3_print'  Name.Function
 ':[void,vec3*]*' Keyword.Type
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"<%d,%d,%d>"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'void'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-poly'   Keyword
-' '           Text
+' '           Text.Whitespace
 'print'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'vec3_print'  Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; note that point is deallocated at the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; end of the function call.  You can' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; stack allocate (stack-alloc)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; any valid type  (i64 for example)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'salloc-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'point'       Name.Variable
 ':vec3*'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stack-alloc' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'point'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'point'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '-1.0'        Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'point'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'salloc-test' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; 1'        Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; all named types have 2 default constructors' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; name (zone alloation) + name_h (heap allocation)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; and a default print poly' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'data-constructor-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vec3'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '2.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'v2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vec3_h'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '5.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '6.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'println'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; halloced vec3 needs freeing' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'free'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'void'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'data-constructor-test' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; aref-ptr and tref-ptr' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; aref-ptr and tref-ptr return a pointer to an element' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; just as aref and tref return elements aref-ptr and' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; tref-ptr return a pointer to those elements.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; This allows you to do things like create an array' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; with an offset' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'aref-ptr-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'arr'         Name.Variable
 ':|32,i64|*'  Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'arroff'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'arr'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 ';; load arr' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'arr'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"index: %lld\\tarr: %lld\\tarroff: %lld\\n"' Literal.String
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'arr'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'arroff'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'aref-ptr-test' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; arrays'   Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Extempore lang supports arrays as for first class' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; aggregate types (in other words as distinct from' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; a pointer).' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; an array is made up of a size and a type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; |32,i64| is an array of 32 elements of type i64' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-type'   Keyword
-' '           Text
+' '           Text.Whitespace
 'tuple-with-array' Name.Function
-' '           Text
+' '           Text.Whitespace
 '<double,|32,|4,i32||,float>' Keyword.Type
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'array-test5' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tup'         Name.Variable
 ':tuple-with-array*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stack-alloc' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 't2'          Name.Variable
 ':|32,i64|*'  Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'stack-alloc' Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'tset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'tup'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5.5'         Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'tup'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'tup'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'tup'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"val: %lld %lld %f\\n"' Literal.String
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'tup'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'tup'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref-ptr'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'tup'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'array-test5' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; val: 1 9 5.5' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Global Variables' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; You can allocate global variables using bind-val' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_var_a'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'i32'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; increment g_var_a by inc' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; and return new value of g_var_a' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'global_var_test1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incr'        Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'set!'        Keyword
-' '           Text
+' '           Text.Whitespace
 'g_var_a'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_var_a'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'incr'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'g_var_a'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'global_var_test1' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; 8'        Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; you can bind any primitive type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_var_b'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'double'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5.5'         Literal.Number.Float
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_var_c'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'i1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'global_var_test1b' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_var_b'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'g_var_c'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'global_var_test1b' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '22.0'        Literal.Number.Float
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; global strings' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_cstring'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'i8*'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"Jiblet."'   Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_g_cstring' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"g_cstring[%lld] = %c\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_cstring'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"\\nSpells... %s\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'g_cstring'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_g_cstring' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_g_cstring1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'test_cstring' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"Niblot."'   Literal.String
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'total'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'c1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_cstring'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'c2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'test_cstring' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"checking %c against %c\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'c1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c2'          Name.Variable
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'c1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c2'          Name.Variable
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'set!'        Keyword
-' '           Text
+' '           Text.Whitespace
 'total'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'total'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'total'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_g_cstring1' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n\n\n\n\n' Text
+'\n\n\n\n\n\n' Text.Whitespace
 
 ';; for tuples, arrays and vectors, bind-val only takes *two*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; arguments. The tuple/array/vector will be initialised to zero.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_tuple1'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '<i64,i64>'   Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_tuple2'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '<double,double>' Keyword.Type
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_g_tuple' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'tfill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_tuple1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'tfill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_tuple2'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_tuple1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtoi64'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_tuple2'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtoi64'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_tuple2'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_tuple1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_g_tuple' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; same thing with arrays' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_array1'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '|10,double|' Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_array2'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '|10,i64|'    Keyword.Type
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; if we just loop over and print the values in each array' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_g_array11' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"garray_1[%lld] = %f   garray_2[%lld] = %lld\\n"' Literal.String
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array2'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_g_array11' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; but if we loop over and set some values into the arrays' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_g_array2' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i64tod'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array2'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"garray_1[%lld] = %f   garray_2[%lld] = %lld\\n"' Literal.String
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array2'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtoi64'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array2'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_g_array2' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; just to test, let's try a large array" Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_array3'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '|100000000,i64|' Keyword.Type
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_g_array3' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '100000000'   Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array3'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_array3'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '87654321'    Literal.Number.Integer
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '87654321'    Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_g_array3' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; if you want to bind a global pointer, then the third 'value'" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; argument is the size of the memory to allocate (in elements, not in bytes)' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_ptr0'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'double*'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_g_ptr0' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'total'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.0'         Literal.Number.Float
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'pset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_ptr0'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i64tod'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'set!'        Keyword
-' '           Text
+' '           Text.Whitespace
 'total'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'total'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_ptr0'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'total'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_g_ptr0' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '45.0'        Literal.Number.Float
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_ptr1'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '|4,i32|*'    Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'g_ptr2'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '<i64,double>*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'test_g_ptr1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'afill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_ptr1'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '11'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '66'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '35'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '81'          Literal.Number.Integer
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'tset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_ptr2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '35.0'        Literal.Number.Float
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%f :: %d\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_ptr2'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_ptr1'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'g_ptr1'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'test_g_ptr1' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '81'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';; should also print 35.000000 :: 35' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Callbacks' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'callback-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'time'        Name.Variable
 ':i64'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"time: %lld:%lld\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'callback'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1000'        Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'callback-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'time'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '22050'       Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'callback'    Name.Function
 '-test'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'now'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; compiling this will stop the callbacks' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; of course we need to keep the type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; signature the same [void,i64,i64]*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'callback-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'time'        Name.Variable
 ':i64'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'callback'    Name.Function
 '-test'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; some memzone tests' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'memzone-test1' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'b'           Name.Variable
 ':|5,double|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zalloc'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'memzone'     Keyword
-' '           Text
+' '           Text.Whitespace
 '1024'        Literal.Number.Integer
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
 ':|10,double|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zalloc'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3.5'         Literal.Number.Float
 ')'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'c'           Name.Variable
 ':|9,i32|*'   Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zalloc'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '99'          Literal.Number.Integer
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'memzone-test1' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3.5'         Literal.Number.Float
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'memzone-test2' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'memzone'     Keyword
-' '           Text
+' '           Text.Whitespace
 '1024'        Literal.Number.Integer
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'k'           Name.Variable
 ':|15,double|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zalloc'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fa'          Name.Variable
 ':|15,double|*' Keyword.Type
 ')'           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '('           Punctuation
 'memzone'     Keyword
-' '           Text
+' '           Text.Whitespace
 '1024'        Literal.Number.Integer
-'\n                             ' Text
+'\n                             ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
 ':|10,double|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zalloc'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n                                   ' Text
+'\n                                   ' Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
-'\n                                 ' Text
+'\n                                 ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'fa'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'random'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                               ' Text
+'\n                               ' Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'memzone-test2' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'memzone-test3' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'memzone'     Keyword
 '-test2'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%lld:%f\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'memzone-test3' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ";; should print all 0.0's" Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'memzone-test4' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'memzone'     Keyword
-' '           Text
+' '           Text.Whitespace
 '1024'        Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '44100'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
 ':|5,double|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5.5'         Literal.Number.Float
 ')'           Punctuation
-'\n                         ' Text
+'\n                         ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'memzone-test4' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '5.50000'     Literal.Number.Float
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Large allocation of memory on BUILD (i.e. when the closure is created)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; requires an optional argument (i.e. an amount of memory to allocate' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; specifically for closure creation)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; This memory is automatically free'd whenever you recompile the closure" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (it will be destroyed and replaced by a new allocation of the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;  same amount or whatever new amount you have allocated for closure' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;  compilation)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'closure-zalloc-test' Name.Function
-' '           Text
+' '           Text.Whitespace
 '1000000'     Literal.Number.Integer
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'k'           Name.Variable
 ':|100000,double|*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zalloc'      Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'aref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'closure-zalloc-test' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1000000'     Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Ad-Hoc Polymorphism' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; extempore supports ad-hoc polymorphism' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; at some stage in the future this will' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; be implicit - but for the moment' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; it is explicitly defined using bind-poly' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; ad-hoc polymorphism allows you to provide' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; different specialisations depending on' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; type.  In other words, a single 'name'" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; can be bound to multiple function' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; implementations each with a uniqute' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; type.'    Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';; poly variables can be for functions of' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; mixed argument lengths' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; so for example:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'poly-test4'  Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ':i8*'        Keyword.Type
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%s\\n"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'poly-test5'  Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ':i8*'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ':i8*'        Keyword.Type
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%s %s\\n"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'poly-test6'  Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ':i8*'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ':i8*'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ':i8*'        Keyword.Type
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%s %s %s\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; bind these three functions to poly 'print'" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-poly'   Keyword
-' '           Text
+' '           Text.Whitespace
 'testprint'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'poly-test4'  Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-poly'   Keyword
-' '           Text
+' '           Text.Whitespace
 'testprint'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'poly-test5'  Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-poly'   Keyword
-' '           Text
+' '           Text.Whitespace
 'testprint'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'poly-test6'  Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'poly-test7'  Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'testprint'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"extempore\'s"' Literal.String
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'testprint'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"extempore\'s"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"polymorphism"' Literal.String
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'testprint'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"extempore\'s"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"polymorphism"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"rocks"'     Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'poly-test7'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; polys can Also specialize' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; on the return type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'poly-test8'  Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ':double'     Keyword.Type
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'poly-test9'  Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ':double'     Keyword.Type
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dtoi64'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-poly'   Keyword
-' '           Text
+' '           Text.Whitespace
 'sqrd'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'poly-test8'  Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-poly'   Keyword
-' '           Text
+' '           Text.Whitespace
 'sqrd'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'poly-test9'  Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; specialize on [i64,double]*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'poly-test10' Name.Function
 ':[i64,double]*' Keyword.Type
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sqrd'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'poly-test10' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; specialize on [double,doube]*' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'poly-test11' Name.Function
 ':[double,double]*' Keyword.Type
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sqrd'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'poly-test11' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; a little test for zone cleanup' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'MyLittleCleanupTest' Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tmp2'        Name.Variable
 ':i8*'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'cleanup'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'println'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"Clean up before leaving zone!"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'tmp2'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'cleanup-test' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'letz'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tmp'         Name.Variable
 ':i8*'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 '('           Punctuation
 't2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'MyLittleCleanupTest' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'println'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"In Zone ..."' Literal.String
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'println'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"Out of zone ..."' Literal.String
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'void'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'cleanup-test' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; vector types' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; (bind-func vector-test1' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (lambda ()' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;     (let ((v1:/4,float/* (alloc))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; \t  (v2:/4,float/* (alloc))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; \t  (v3:/4,float/* (alloc)))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;       (vfill! v1 4.0 3.0 2.0 1.0)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;       (vfill! v2 1.0 2.0 3.0 4.0)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;       (vfill! v3 5.0 5.0 5.0 5.0)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;       (let ((v4 (* v1 v2))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; \t    (v5 (> v3 v4))) ;; unforunately vector conditionals don't work!" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; \t(printf "mul:%f:%f:%f:%f\\n" (ftod (vref v4 0)) (ftod (vref v4 1)) (ftod (vref v4 2)) (ftod (vref v4 3)))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; \t(printf "cmp:%d:%d:%d:%d\\n" (i1toi32 (vref v5 0)) (i1toi32 (vref v5 1)) (i1toi32 (vref v5 2)) (i1toi32 (vref v5 3)))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; \tvoid))))' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; (test-xtfunc (vector-test1))' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'vector-test2' Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'v1'          Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'v2'          Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'vfill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '2.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '8.0'         Literal.Number.Float
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'vfill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '2.5'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '2.25'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '2.125'       Literal.Number.Float
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'v1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'vector-test3' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vector-test2' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"%f:%f:%f:%f\\n"' Literal.String
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'void'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'vector'      Name.Function
 '-test3'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; vectorised sine func' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'vsinf4'      Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'p'           Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'b'           Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'f1'          Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'f2'          Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
 ':i32'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'p_'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.225'       Literal.Number.Float
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'b_'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtof'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.1415'      Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'c_'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtof'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '-4.0'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '3.1415'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.1415'      Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p_'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b_'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c_'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ':/4,float/'  Keyword.Type
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; no SIMD for abs yet!' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'f1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fabs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f1'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ';; no SIMD for abs yet!' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'f2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fabs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f2'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'vcosf4'      Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'p'           Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'b'           Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'd'           Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'f1'          Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'f2'          Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
 ':i32'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'p_'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.225'       Literal.Number.Float
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'd_'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtof'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '3.1415'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '2.0'         Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'b_'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtof'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '4.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.1415'      Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'c_'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dtof'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '-4.0'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '3.1415'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.1415'      Literal.Number.Float
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p_'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b_'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c_'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'd_'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ':/4,float/'  Keyword.Type
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; offset x for cos' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set!'        Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; no SIMD for abs yet!' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'f1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fabs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f1'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 ';; no SIMD for abs yet!' Comment.Single
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'dotimes'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vset!'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'f2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fabs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f2'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'vector-test4' Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'a'           Name.Variable
 ':/4,float/*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'alloc'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'vfill!'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0.1'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0.2'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0.3'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0.4'         Literal.Number.Float
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vsinf4'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vcosf4'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"precision inaccuracy is expected:\\n"' Literal.String
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '" sinf:\\t%f,%f,%f,%f\\n"' Literal.String
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sin'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.1'         Literal.Number.Float
 ':f'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sin'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.2'         Literal.Number.Float
 ':f'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sin'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.3'         Literal.Number.Float
 ':f'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sin'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.4'         Literal.Number.Float
 ':f'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"vsinf:\\t%f,%f,%f,%f\\n"' Literal.String
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '" cosf:\\t%f,%f,%f,%f\\n"' Literal.String
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cos'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.1'         Literal.Number.Float
 ':f'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cos'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.2'         Literal.Number.Float
 ':f'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cos'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.3'         Literal.Number.Float
 ':f'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cos'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0.4'         Literal.Number.Float
 ':f'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"vcosf:\\t%f,%f,%f,%f\\n"' Literal.String
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 '('           Punctuation
 'ftod'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'vref'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 'void'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n         ' Text
+'\n\n         ' Text.Whitespace
 '('           Punctuation
 'vector'      Name.Function
 '-test4'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; test the call-as-xtlang macro' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; make sure it'll handle multiple body forms" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'xtmtest-result' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call-as-xtlang' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'println'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'println'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; test globalvar as closure' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'testinc'     Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'incr'        Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
 ':i64'        Keyword.Type
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'incr'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'GlobalInc'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '[i64,i64]*'  Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'testinc'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'xtmtest'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'ginc'        Name.Function
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'GlobalInc'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'ginc'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
-'\n                       \n\n' Text
+'\n                       \n\n' Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; syntax highlighting tests ;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; these don't return any values, they're visual tests---do they look" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; right?'   Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'hl_test1a'   Name.Function
 ':[i32,double,|4,i32|**]*' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '4000'        Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"docstring"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"done\\n"'   Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-func'   Keyword
-' '           Text
+' '           Text.Whitespace
 'hl_test1b'   Name.Function
 ':[i32]*'     Keyword.Type
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'lambda'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Variable
 ':i32'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'printf'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '"done\\n"'   Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'hl_test2'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '<i32,i32>'   Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'hl_test3'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '|4,i8|'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'hl_test4'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'double*'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'bind-val'    Keyword
-' '           Text
+' '           Text.Whitespace
 'hl_test5'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'i8*'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"teststr"'   Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'bind-type'   Keyword
-' '           Text
+' '           Text.Whitespace
 'hl_test_type' Name.Function
-' '           Text
+' '           Text.Whitespace
 '<i64>'       Keyword.Type
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'println'     Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'bind-lib'    Keyword
-' '           Text
+' '           Text.Whitespace
 'testlib'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'testfn'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '[i32,i32]*'  Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; (and 4 5)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (bind-val hl_test4 double* 10)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (bind-type hl_test_type <i64> "docstring")' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (bind-lib testlib testfn [i32,i32]*)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
index 0f797e8407498269d20c04ca09063d70ac964227..d1d5d4d973d3df147b41bd3f97bfe1dcc14168a7 100644 (file)
 ';; A pretty-printer that outputs tables in Fennel syntax.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Loosely based on inspect.lua: http://github.com/kikito/inspect.lua' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'view-quote'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'str'         Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.. '         Keyword
 '"\\""'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\""'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\\\""'   Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"\\""'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'local '      Keyword.Declaration
 'short-control-char-escapes' Name.Variable
-'\n       '   Text
+'\n       '   Text.Whitespace
 '{'           Punctuation
 '"\\a"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\a"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\b"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\b"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\f"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\f"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\n"'     Literal.String
-'\n        '  Text
+'\n        '  Text.Whitespace
 '"\\r"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\r"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\t"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\t"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\v"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\v"'     Literal.String
 '}'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'local '      Keyword.Declaration
 'long-control-char-escapes' Name.Variable
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'long'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
 ']'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'for '        Keyword
 '['           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '31'          Literal.Number.Integer
 ']'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'ch'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string.char' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'when '       Keyword
 '('           Punctuation
 '('           Punctuation
 '. '          Keyword
 'short-control-char-escapes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ch'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'tset '       Keyword
 'short-control-char-escapes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ch'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.. '         Keyword
 '"\\\\"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'tset '       Keyword
 'long'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ch'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 '"\\\\%03d"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 ':format'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 'long'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'escape'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'str'         Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '-> '         Keyword
 'str'         Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\\\"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\\\\\\\"'  Literal.String
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"(%c)%f[0-9]"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'long-control-char-escapes' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"%c"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 'short-control-char-escapes' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'sequence-key?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'len'         Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and '        Keyword
 '('           Punctuation
 'type '       Name.Builtin
 'k'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"number"'    Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '<= '         Keyword
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '<= '         Keyword
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'len'         Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '= '          Keyword
 '('           Punctuation
 'math.floor'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'local '      Keyword.Declaration
 'type-order'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 ':number'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':boolean'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':string'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':table'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':function'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':userdata'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':thread'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 '}'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'sort-keys'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'ta'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type '       Name.Builtin
 'a'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tb'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type '       Name.Builtin
 'b'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 '('           Punctuation
 '= '          Keyword
 'ta'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tb'          Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'or '         Keyword
 '('           Punctuation
 '= '          Keyword
 'ta'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"string"'    Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '= '          Keyword
 'ta'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"number"'    Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '< '          Keyword
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'dta'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'type-order'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'dtb'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'type-order'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 'and '        Keyword
 'dta'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dtb'         Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '< '          Keyword
 'dta'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dtb'         Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'dta'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Constant
-'\n              ' Text
+'\n              ' Text.Whitespace
 'dtb'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Constant
-'\n              ' Text
+'\n              ' Text.Whitespace
 ':else'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '< '          Keyword
 'ta'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tb'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'get-sequence-length' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 't'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'var '        Keyword.Declaration
 'len'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'each '       Keyword
 '['           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ipairs '     Name.Builtin
 't'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set '        Keyword
 'len'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'len'         Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'get-nonsequential-keys' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 't'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'keys'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'sequence-length' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-sequence-length' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'each '       Keyword
 '['           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pairs '      Name.Builtin
 't'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'when '       Keyword
 '('           Punctuation
 'not '        Keyword
 '('           Punctuation
 'sequence-key?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sequence-length' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'table.insert' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keys'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'table.sort'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'keys'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sort-keys'   Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'values '     Keyword
 'keys'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sequence-length' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'count-table-appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'appearances' Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when '       Keyword
 '('           Punctuation
 'type '       Name.Builtin
 't'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"table"'     Literal.String
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 '('           Punctuation
 '. '          Keyword
 'appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'do '         Keyword
 '('           Punctuation
 'tset '       Keyword
 'appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'each '       Keyword
 '['           Punctuation
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pairs '      Name.Builtin
 't'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'count-table-appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'appearances' Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'count-table-appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'appearances' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'tset '       Keyword
 'appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Keyword
 '('           Punctuation
 '('           Punctuation
 '. '          Keyword
 'appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'appearances' Name.Variable
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 '('           Punctuation
 'var '        Keyword.Declaration
 'put-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; mutual recursion going on; defined below' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '...'         Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'each '       Keyword
 '['           Punctuation
 '_'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ipairs '     Name.Builtin
 '['           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'table.insert' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self.buffer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'tabify'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 'self.indent' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':rep'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'self.level'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'already-visited?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not= '       Keyword
 '('           Punctuation
 '. '          Keyword
 'self.ids'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'get-id'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'var '        Keyword.Declaration
 'id'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 'self.ids'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when '       Keyword
 '('           Punctuation
 'not '        Keyword
 'id'          Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'tv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type '       Name.Builtin
 'v'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set '        Keyword
 'id'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Keyword
 '('           Punctuation
 '('           Punctuation
 '. '          Keyword
 'self.max-ids' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tv'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'tset '       Keyword
 'self.max-ids' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'id'          Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'tset '       Keyword
 'self.ids'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'id'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'tostring '   Name.Builtin
 'id'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'put-sequential-table' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'len'         Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"["'         Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set '        Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'for '        Keyword
 '['           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'len'         Name.Variable
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when '       Keyword
 '('           Punctuation
 '< '          Keyword
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Keyword
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'len'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '" "'         Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'put-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set '        Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '- '          Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"]"'         Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'put-key'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 'type '       Name.Builtin
 'k'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"string"'    Literal.String
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':find'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"^[-%w?\\\\^_!$%&*+./@:|<=>]+$"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '":"'         Literal.String
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'put-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'put-kv-table' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ordered-keys' Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"{"'         Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set '        Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+ '          Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; first, output sorted nonsequential keys' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'each '       Keyword
 '['           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ipairs '     Name.Builtin
 'ordered-keys' Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when '       Keyword
 '('           Punctuation
 'or '         Keyword
 'self.table-edges' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not= '       Keyword
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'tabify'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'put-key'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '" "'         Literal.String
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'put-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '. '          Keyword
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';; next, output any sequential keys' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'each '       Keyword
 '['           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ipairs '     Name.Builtin
 't'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'tabify'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'put-key'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '" "'         Literal.String
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'put-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set '        Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '- '          Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'when '       Keyword
 'self.table-edges' Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'tabify'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"}"'         Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'put-table'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'metamethod'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and '        Keyword
 'self.metamethod?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-?> '        Keyword
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'getmetatable ' Name.Builtin
 '('           Punctuation
 '. '          Keyword
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 'and '        Keyword
 '('           Punctuation
 'already-visited?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'self.detect-cycles?' Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"#<table @"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-id'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '">"'         Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '>= '         Keyword
 'self.level'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self.depth'  Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"{...}"'     Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'metamethod'  Name.Variable
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'metamethod'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self.fennelview' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ':else'       Literal.String.Symbol
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '('           Punctuation
 'non-seq-keys' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'len'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-nonsequential-keys' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 'id'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-id'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 ';; fancy metatable stuff can result in self.appearances not including' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 ";; a table, so if it's not found, assume we haven't seen it; we can't" Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 ';; do cycle detection in that case.' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'when '       Keyword
 '('           Punctuation
 '('           Punctuation
 '< '          Keyword
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or '         Keyword
 '('           Punctuation
 '. '          Keyword
 'self.appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'self.detect-cycles?' Name.Variable
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"@"'         Literal.String
-' '           Text
+' '           Text.Whitespace
 'id'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 'length '     Keyword
 'non-seq-keys' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '= '          Keyword
 '('           Punctuation
 'length '     Keyword
 't'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 'self.empty-as-square' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"[]"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 '"{}"'        Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 '= '          Keyword
 '('           Punctuation
 'length '     Keyword
 'non-seq-keys' Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'put-sequential-table' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'len'         Name.Variable
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 ':else'       Literal.String.Symbol
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'put-kv-table' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'non-seq-keys' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'set '        Keyword
 'put-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword.Declaration
 '['           Punctuation
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ']'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'tv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type '       Name.Builtin
 'v'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 '('           Punctuation
 '= '          Keyword
 'tv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"string"'    Literal.String
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'view-quote'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'escape'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'or '         Keyword
 '('           Punctuation
 '= '          Keyword
 'tv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"number"'    Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '= '          Keyword
 'tv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"boolean"'   Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '= '          Keyword
 'tv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"nil"'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tostring '   Name.Builtin
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 '= '          Keyword
 'tv'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"table"'     Literal.String
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'put-table'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 ':else'       Literal.String.Symbol
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 '('           Punctuation
 'puts'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"#<"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tostring '   Name.Builtin
 'v'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '">"'         Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'one-line'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'str'         Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ";; save return value as local to ignore gsub's extra return value" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'ret'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-> '         Keyword
 'str'         Name.Variable
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '" "'         Literal.String
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"%[ "'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"["'         Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '" %]"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"]"'         Literal.String
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"%{ "'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"{"'         Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '" %}"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"}"'         Literal.String
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"%( "'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"("'         Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ': '          Keyword
 ':gsub'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '" %)"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '")"'         Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'ret'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'fn '         Keyword.Declaration
 'fennelview'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'options'     Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return a string representation of x.\n\nCan take an options table with these keys:\n* :one-line (boolean: default: false) keep the output string as a one-liner\n* :depth (number, default: 128) limit how many levels to go (default: 128)\n* :indent (string, default: \\"  \\") use this string to indent each level\n* :detect-cycles? (boolean, default: true) don\'t try to traverse a looping table\n* :metamethod? (boolean: default: true) use the __fennelview metamethod if found\n* :table-edges (boolean: default: true) put {} table brackets on their own line\n* :empty-as-square (boolean: default: false) render empty tables as [], not {}\n\nThe __fennelview metamethod should take the table being serialized as its first\nargument and a function as its second arg which can be used on table elements to\ncontinue the fennelview process on them.\n"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'options'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or '         Keyword
 'options'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'inspector'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 ':appearances' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'count-table-appearances' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':depth'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or '         Keyword
 'options.depth' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '128'         Literal.Number.Integer
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':level'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':buffer'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':ids'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':max-ids'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':indent'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or '         Keyword
 'options.indent' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 'options.one-line' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '""'          Literal.String
-' '           Text
+' '           Text.Whitespace
 '"  "'        Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':detect-cycles?' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not '        Keyword
 '('           Punctuation
 '= '          Keyword
 'false'       Name.Constant
-' '           Text
+' '           Text.Whitespace
 'options.detect-cycles?' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':metamethod?' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not '        Keyword
 '('           Punctuation
 '= '          Keyword
 'false'       Name.Constant
-' '           Text
+' '           Text.Whitespace
 'options.metamethod?' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':fennelview' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '#'           Punctuation
 '('           Punctuation
 'fennelview'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'options'     Name.Variable
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':table-edges' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not= '       Keyword
 'options.table-edges' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Constant
 ')'           Punctuation
-'\n                   ' Text
+'\n                   ' Text.Whitespace
 ':empty-as-square' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'options.empty-as-square' Name.Variable
 '}'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'put-value'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inspector'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'table.concat' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'inspector.buffer' Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if '         Keyword
 'options.one-line' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'one-line'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index d2c7bfa897f9a374c5d991399b03623772c14a47..2ad7b9592b5c2bbe10e05703b45da79b20b924f3 100644 (file)
@@ -1,16 +1,17 @@
+local let dotprod [n] 't
+                  (mul: t -> t -> t) (add: t -> t -> t) (zero: t)
+                  (a: [n]t) (b: [n]t): t =
+  map2 mul a b |> reduce add zero
+
 module matmul (F: numeric) = {
   type t = F.t
   open F
 
-  local let dotprod [n] (a: [n]t) (b: [n]t): t =
-  map2 (*) a b |> reduce (+) (i32 0)
-
-
-  let matmul [n1][n2][m] (xss: [n1][m]t) (yss: [m][n2]t): [n1][n2]t =
-    map (\xs -> map (\ys -> dotprod xs ys) <| transpose yss) xss
+  let matmul [n1][n2][m] (xss: [n1][m]t) (yss: [m][n2]t): *[n1][n2]t =
+    map (\xs -> map (\ys -> dotprod (*) (+) (i32 0) xs ys) <| transpose yss) xss
 }
 
 module matmul32 = matmul f32
 
-let main [n][m] (xss: [n][m]f32) (yss: [m][n]f32): *[n][n]f32 =
+let main [n][m] (xss: [n][m]f32) (yss: [m][n]f32): ?[a][b].[a][b]f32 =
   matmul32.matmul xss yss
index d1fe0afbb8f59ace06aa284e350a6517fada3b5e..365b376f577b15a37572556e9aa9832358a1d14f 100644 (file)
@@ -1,41 +1,54 @@
-'module'      Keyword.Reserved
+'local'       Keyword.Reserved
 ' '           Text.Whitespace
-'matmul'      Name
+'let'         Keyword.Reserved
+' '           Text.Whitespace
+'dotprod'     Name
+' '           Text.Whitespace
+'['           Punctuation
+'n'           Name
+']'           Punctuation
 ' '           Text.Whitespace
+"'"           Punctuation
+'t'           Name
+'\n                  ' Text.Whitespace
 '('           Punctuation
-'F'           Name
+'mul'         Name
 ':'           Punctuation
 ' '           Text.Whitespace
-'numeric'     Name
-')'           Punctuation
+'t'           Name
 ' '           Text.Whitespace
-'='           Operator
+'->'          Operator
 ' '           Text.Whitespace
-'{'           Punctuation
-'\n  '        Text.Whitespace
-'type'        Keyword.Reserved
+'t'           Name
+' '           Text.Whitespace
+'->'          Operator
 ' '           Text.Whitespace
 't'           Name
+')'           Punctuation
 ' '           Text.Whitespace
-'='           Operator
+'('           Punctuation
+'add'         Name
+':'           Punctuation
 ' '           Text.Whitespace
-'F.t'         Name
-'\n  '        Text.Whitespace
-'open'        Keyword.Reserved
+'t'           Name
 ' '           Text.Whitespace
-'F'           Name
-'\n\n  '      Text.Whitespace
-'local'       Keyword.Reserved
+'->'          Operator
 ' '           Text.Whitespace
-'let'         Keyword.Reserved
+'t'           Name
 ' '           Text.Whitespace
-'dotprod'     Name
+'->'          Operator
 ' '           Text.Whitespace
-'['           Punctuation
-'n'           Name
-']'           Punctuation
+'t'           Name
+')'           Punctuation
 ' '           Text.Whitespace
 '('           Punctuation
+'zero'        Name
+':'           Punctuation
+' '           Text.Whitespace
+'t'           Name
+')'           Punctuation
+'\n                  ' Text.Whitespace
+'('           Punctuation
 'a'           Name
 ':'           Punctuation
 ' '           Text.Whitespace
@@ -62,9 +75,7 @@
 '\n  '        Text.Whitespace
 'map2'        Name
 ' '           Text.Whitespace
-'('           Punctuation
-'*'           Operator
-')'           Punctuation
+'mul'         Name
 ' '           Text.Whitespace
 'a'           Name
 ' '           Text.Whitespace
 ' '           Text.Whitespace
 'reduce'      Name
 ' '           Text.Whitespace
-'('           Punctuation
-'+'           Operator
-')'           Punctuation
+'add'         Name
+' '           Text.Whitespace
+'zero'        Name
+'\n\n'        Text.Whitespace
+
+'module'      Keyword.Reserved
+' '           Text.Whitespace
+'matmul'      Name
 ' '           Text.Whitespace
 '('           Punctuation
-'i32'         Keyword.Type
+'F'           Name
+':'           Punctuation
 ' '           Text.Whitespace
-'0'           Literal.Number.Integer
+'numeric'     Name
 ')'           Punctuation
-'\n\n\n  '    Text.Whitespace
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'{'           Punctuation
+'\n  '        Text.Whitespace
+'type'        Keyword.Reserved
+' '           Text.Whitespace
+'t'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'F.t'         Name
+'\n  '        Text.Whitespace
+'open'        Keyword.Reserved
+' '           Text.Whitespace
+'F'           Name
+'\n\n  '      Text.Whitespace
 'let'         Keyword.Reserved
 ' '           Text.Whitespace
 'matmul'      Name
 ')'           Punctuation
 ':'           Punctuation
 ' '           Text.Whitespace
+'*'           Operator
 '['           Punctuation
 'n1'          Name
 ']'           Punctuation
 ' '           Text.Whitespace
 'dotprod'     Name
 ' '           Text.Whitespace
+'('           Punctuation
+'*'           Operator
+')'           Punctuation
+' '           Text.Whitespace
+'('           Punctuation
+'+'           Operator
+')'           Punctuation
+' '           Text.Whitespace
+'('           Punctuation
+'i32'         Keyword.Type
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+')'           Punctuation
+' '           Text.Whitespace
 'xs'          Name
 ' '           Text.Whitespace
 'ys'          Name
 ')'           Punctuation
 ':'           Punctuation
 ' '           Text.Whitespace
-'*'           Operator
+'?'           Punctuation
 '['           Punctuation
-'n'           Name
+'a'           Name
 ']'           Punctuation
 '['           Punctuation
-'n'           Name
+'b'           Name
+']'           Punctuation
+'.'           Punctuation
+'['           Punctuation
+'a'           Name
+']'           Punctuation
+'['           Punctuation
+'b'           Name
 ']'           Punctuation
 'f32'         Keyword.Type
 ' '           Text.Whitespace
index aadbf10407cbc0c2013fcae51d7f954fe2b41079..288ffdfeb6d69e84aa9ef6fa6235e18f7405946e 100644 (file)
 '\n'          Text
 
 'module'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'pygments.Example' Name.Namespace
 '\n'          Text
 
 '\n'          Text
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'some.Module' Name.Namespace
 '\n'          Text
 
 '\n'          Text
 
 'local'       Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'foo'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '\n'          Text
 
 '\n'          Text
 
 'augment'     Keyword
-' '           Text
+' '           Text.Whitespace
 'java.util.Collection' Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 '----\n  sub doc\n  ----' Literal.String.Doc
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'plop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'this'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'this'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'length'      Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'bar'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'a string'    Literal.String
 '"'           Literal.String.Double
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'tmp'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String.Double
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'tmp'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tmp'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'toString'    Name.Function
 '('           Punctuation
 ')'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'println'     Name.Builtin
 '('           Punctuation
 'tmp'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
 '\n'          Text
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'baz'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'foreach'     Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 'in'          Operator.Word
-' '           Text
+' '           Text.Whitespace
 'range'       Name.Function
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'and'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'or'          Operator.Word
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'      '      Text
+'      '      Text.Whitespace
 'print'       Name.Builtin
 '('           Punctuation
 '"'           Literal.String
 ')'           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'      '      Text
+'      '      Text.Whitespace
 'print'       Name.Builtin
 '('           Punctuation
 '"'           Literal.String
 ')'           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'userMatch'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'v'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'match'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 'when'        Keyword
-' '           Text
+' '           Text.Whitespace
 'v'           Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'e'           Literal.String
 '"'           Literal.String.Double
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 'otherwise'   Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'o'           Literal.String
 '"'           Literal.String.Double
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'add'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'x'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'y'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '\n'          Text
 
 '\n'          Text
 
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'aChar'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'a'           Literal.String
 "'"           Literal.String
 '\n'          Text
 
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'multiline'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '\n'          Text
 
 '"""'         Literal.String
 '\n'          Text
 
 'local'       Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'myObj'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 'DynamicObject' Name.Function
 '('           Punctuation
 ')'           Punctuation
 ':'           Operator
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'name'        Name.Function
 '('           Punctuation
 '"'           Literal.String
 ':'           Operator
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'age'         Name.Function
 '('           Punctuation
 '25'          Literal.Number.Integer
 ':'           Operator
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'define'      Name.Function
 '('           Punctuation
 '"'           Literal.String
 'meth'        Literal.String
 '"'           Literal.String.Double
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'this'        Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'age'         Name.Function
 '('           Punctuation
 ')'           Punctuation
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'nullTest'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Builtin
 '['           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 '['           Punctuation
 '"'           Literal.String
 'a'           Literal.String
 '"'           Literal.String.Double
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ','           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 '['           Punctuation
 '"'           Literal.String
 'b'           Literal.String
 '"'           Literal.String.Double
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ']'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 ']'           Punctuation
 '\n'          Text
 
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'println'     Name.Builtin
 '('           Punctuation
 'map'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'get'         Name.Function
 '('           Punctuation
 '"'           Literal.String
 'a'           Literal.String
 '"'           Literal.String.Double
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'orIfNull'    Operator.Word
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'println'     Name.Builtin
 '('           Punctuation
 'map'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'get'         Name.Function
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String.Double
 ')'           Punctuation
 '?:'          Operator
-' '           Text
+' '           Text.Whitespace
 'toString'    Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'orIfNull'    Operator.Word
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '0'           Literal.String
 '"'           Literal.String.Double
 '\n'          Text
 
 'struct'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Point'       Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'deco1'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'fun'         Name.Builtin
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'args'        Name
 '...'         Operator
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'deco1 + '    Literal.String
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'fun'         Name.Builtin
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'invokeWithArguments' Name.Function
 '('           Punctuation
 'args'        Name
 ')'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'decofoo'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'a'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'foo: '       Literal.String
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'decobar'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'a'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'bar: '       Literal.String
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'deco2'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'fun'         Name.Builtin
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'args'        Name
 '...'         Operator
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'deco2 + '    Literal.String
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'fun'         Name.Builtin
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'invokeWithArguments' Name.Function
 '('           Punctuation
 'args'        Name
 ')'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'decobaz'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'a'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'baz: '       Literal.String
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 '\n'          Text
 
 '\n'          Text
 
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'deco3'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '^'           Operator
 'deco1'       Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'andThen'     Name.Function
 '('           Punctuation
 '^'           Operator
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'decospam'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'a'           Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'spam: '      Literal.String
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'ping'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'pong'        Literal.String
 '"'           Literal.String.Double
 'with'        Literal.String
 '"'           Literal.String.Double
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'params'      Name
 ')'           Punctuation
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'gnop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'gnip'        Literal.String
 '"'           Literal.String.Double
index f956f3a82d8431696516c250c5312f13f56dba5b..8baaa20a5250689a29c46b94e1ae5bf1f2178e69 100644 (file)
@@ -1,24 +1,24 @@
 'module'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'hello.World' Name.Namespace
 '\n'          Text
 
 '\n'          Text
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
 'args'        Name
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'println'     Name.Builtin
 '('           Punctuation
 '"'           Literal.String
index adfa762d858684283c641962c4245751ef258973..b03b850cd4d988b6101d1c55f768a8ba8e59bf1e 100644 (file)
 'package'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'example'     Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'uses'        Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'java.util.*' Name.Namespace
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'uses'        Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'java.io.File' Name.Namespace
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Person'      Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Contact'     Name
-' '           Text
+' '           Text.Whitespace
 'implements'  Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'IEmailable'  Name
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '_name'       Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '_age'        Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Integer'     Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'Age'         Name
-' '           Text
-'\n'          Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '_relationship' Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Relationship' Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'readonly'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'RelationshipOfPerson' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'delegate'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '_emailHelper' Name
-' '           Text
+' '           Text.Whitespace
 'represents'  Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'IEmailable'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'enum'        Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Relationship' Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'FRIEND'      Name
 ','           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'FAMILY'      Name
 ','           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'BUSINESS_CONTACT' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '// Map of names to people\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'ALL_PEOPLE'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'HashMap'     Name
 '<'           Operator
 'String'      Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'Person'      Name
 '>'           Operator
 '('           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/* Constructs a new Person */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'construct'   Keyword.Declaration
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'name'        Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'age'         Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Integer'     Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'relationship' Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Relationship' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '_name'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'name'        Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '_age'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'age'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '_relationship' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'relationship' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '_emailHelper' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'EmailHelper' Name
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
-'property get' Keyword.Declaration
-' '           Text
+'  '          Text.Whitespace
+'property'    Keyword.Declaration
+' '           Text.Whitespace
+'get'         Keyword.Declaration
+' '           Text.Whitespace
 'Name'        Name.Function
 '('           Operator
 ')'           Operator
 ':'           Operator
 'String'      Name.Attribute
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '_name'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
-'property set' Keyword.Declaration
-' '           Text
+'  '          Text.Whitespace
+'property'    Keyword.Declaration
+' '           Text.Whitespace
+'set'         Keyword.Declaration
+' '           Text.Whitespace
 'Name'        Name.Function
 '('           Operator
 'name'        Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 ')'           Operator
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '_name'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'name'        Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/* Implement IEmailable#getEmailName() */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'override'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'getEmailName' Name.Function
 '('           Operator
 ')'           Operator
 ':'           Operator
 'String'      Name.Attribute
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Name'        Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'incrementAge' Name.Function
 '('           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '_age'        Name
 '+'           Operator
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '@Deprecated' Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'printPersonInfo' Name.Function
 '('           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'print'       Name
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'P'           Literal.String
 'e'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'addPerson'   Name.Function
 '('           Operator
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Person'      Name
 ')'           Operator
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
 '('           Operator
 'ALL_PEOPLE'  Name
 'Name'        Name.Attribute
 ')'           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'IllegalArgumentException' Name.Function
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'T'           Literal.String
 'h'           Literal.String
 "'"           Literal.String
 '.'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ALL_PEOPLE'  Name
 '['           Operator
 'p'           Name
 '.'           Operator
 'Name'        Name.Attribute
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'p'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'addAllPeople' Name.Function
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'contacts'    Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'List'        Name
 '<'           Operator
 'Contact'     Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'for'         Keyword
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'contact'     Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 'contacts'    Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'contact'     Name
-' '           Text
+' '           Text.Whitespace
 'typeis'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Person'      Name
-' '           Text
+' '           Text.Whitespace
 'and'         Name
-' '           Text
+' '           Text.Whitespace
 'not'         Name
-' '           Text
+' '           Text.Whitespace
 'ALL_PEOPLE'  Name
 '.'           Operator
 'containsKey' Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'contact'     Name
 '.'           Operator
 'Name'        Name.Attribute
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'addPerson'   Name
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'contact'     Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'getAllPeopleOlderThanNOrderedByName' Name.Function
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'age'         Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'allPeople'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ALL_PEOPLE'  Name
 '.'           Operator
 'Values'      Name.Attribute
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'allPeople'   Name
 '.'           Operator
 'where'       Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '\\'          Operator
-' '           Text
+' '           Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 '.'           Operator
 'Age'         Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'age'         Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
 '.'           Operator
 'orderBy'     Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '\\'          Operator
-' '           Text
+' '           Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 '.'           Operator
 'Name'        Name.Attribute
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'loadPersonFromDB' Name.Function
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Integer'     Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'using'       Keyword
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'conn'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'DBConnectionManager' Name
 '.'           Operator
 'getConnection' Name.Attribute
 '('           Operator
 ')'           Operator
 ','           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'stmt'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'conn'        Name
 '.'           Operator
 'prepareStatement' Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'S'           Literal.String
 'E'           Literal.String
 '?'           Literal.String
 '"'           Literal.String
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'stmt'        Name
 '.'           Operator
 'setInt'      Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'result'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'stmt'        Name
 '.'           Operator
 'executeQuery' Name.Attribute
 '('           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 '.'           Operator
 'next'        Name.Attribute
 '('           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'         '   Text
+'         '   Text.Whitespace
 'addPerson'   Name
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Person'      Name
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 '.'           Operator
 'getString'   Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'n'           Literal.String
 'a'           Literal.String
 'm'           Literal.String
 'e'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
 ','           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'result'      Name
 '.'           Operator
 'getInt'      Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'a'           Literal.String
 'g'           Literal.String
 'e'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
 ','           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                    ' Text
+'                    ' Text.Whitespace
 'Relationship' Name
 '.'           Operator
 'valueOf'     Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'result'      Name
 '.'           Operator
 'getString'   Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'r'           Literal.String
 'e'           Literal.String
 'i'           Literal.String
 'p'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/* Loads in people from a CSV */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'loadFromFile' Name.Function
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'file'        Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'file'        Name
 '.'           Operator
 'eachLine'    Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 '\\'          Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Operator
 'HasContent'  Name.Attribute
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'addPerson'   Name
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 '.'           Operator
 'toPerson'    Name.Attribute
 '('           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '/* Save people to a CSV */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'saveToFile'  Name.Function
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'file'        Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'using'       Keyword
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'writer'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'FileWriter'  Name
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'file'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'print'       Name
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'PersonCSVTemplate' Name
 '.'           Operator
 'renderToString' Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'ALL_PEOPLE'  Name
 '.'           Operator
 'Values'      Name.Attribute
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'PersonCSVTemplate' Name
 '.'           Operator
 'render'      Name.Attribute
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'writer'      Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'ALL_PEOPLE'  Name
 '.'           Operator
 'Values'      Name.Attribute
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
index 9bf354bca918d5157f38f28eba226ad7f5a9e8d6..6aef35d96a8e5d3ca227fceaa35dcc54ae19b95e 100644 (file)
@@ -1,7 +1,7 @@
 '#!/usr/bin/env groovy' Comment.Preproc
-'\n'          Text
+'\n'          Text.Whitespace
 
 'println'     Name
-' '           Text
+' '           Text.Whitespace
 '"Hello World"' Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
index ac9c4ce1c1e187a1e3ab72526380023587bb0c5a..02cf836e8d3743569353b725f764208b7e0503f2 100644 (file)
@@ -1,28 +1,28 @@
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '"long function name"' Name.Function
 '('           Operator
 'i'           Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'assert'      Keyword
-' '           Text
+' '           Text.Whitespace
 "'long function name'" Literal.String.Single
 '('           Operator
 '1'           Literal.Number.Integer
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
index 9504f4415833b3bde598b78cf1f4d8fec706cfe6..09d461f7e582ae12a4f0e55f3df9a29043091358 100644 (file)
 'apply'       Name
-' '           Text
+' '           Text.Whitespace
 'plugin:'     Name.Label
-' '           Text
+' '           Text.Whitespace
 "'java'"      Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'repositories' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'mavenCentral' Name
 '('           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dependencies' Name
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'testCompile' Name
-' '           Text
+' '           Text.Whitespace
 "'junit:junit:4.12'" Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'task'        Name
-' '           Text
+' '           Text.Whitespace
 'sayHello'    Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'SomeClass'   Name
 '.'           Operator
 'worldString' Name.Attribute
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'println'     Name
-' '           Text
+' '           Text.Whitespace
 '"Hello ${x}"' Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'SomeClass'   Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'getWorldString' Name
 '('           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"world"'     Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
index bcb15b3a1c7eca04f9e93dd625c4f8abfa9317d2..b292d871fb90665f1affabde95d7992beeebd782 100644 (file)
@@ -1,9 +1,10 @@
-'// This source code comes from http://www.odelia-technologies.com/node/200\n' Comment.Single
+'// This source code comes from http://www.odelia-technologies.com/node/200' Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'package'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'com'         Name
 '.'           Operator
 'odelia'      Name.Attribute
 'groovy'      Name.Attribute
 '.'           Operator
 'simpleworkflow' Name.Attribute
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'SimpleWorkflowEngine' Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'workflowMap' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ':'           Operator
 ']'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'context'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ':'           Operator
 ']'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'beforeActivityName' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'beforeActivity'" Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'afterActivityName' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'afterActivity'" Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'SimpleWorkflowEngine' Name
 '('           Operator
 'workflow'    Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'context'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ':'           Operator
 ']'           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'this'        Keyword
 '.'           Operator
 'context'     Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'context'     Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'parseWorkflow' Name
 '('           Operator
 'workflow'    Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'parseWorkflow' Name.Function
 '('           Operator
 'workflow'    Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'workflowMap' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'WorkflowParser' Name
 '('           Operator
 ')'           Operator
 '('           Operator
 'workflow'    Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'getActivityValue' Name.Function
 '('           Operator
 'activity'    Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'assert'      Keyword
-' '           Text
+' '           Text.Whitespace
 'activity'    Name
-' '           Text
+' '           Text.Whitespace
 'instanceof'  Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Operator
 '!'           Operator
 'workflowMap' Name
 'activity'    Name
 ']'           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'RuntimeException' Name
 '('           Operator
 '"$activity activity doesn\'t exist"' Literal.String.Double
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'workflowMap' Name
 '['           Operator
 'activity'    Name
 ']'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'execute'     Name.Function
 '('           Operator
 'activity'    Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'pause'       Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Operator
 'workflowMap' Name
 '['           Operator
 'beforeActivityName' Name
 ']'           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'getActivityValue' Name
 '('           Operator
 'beforeActivityName' Name
 '('           Operator
 'context'     Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'activity'    Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'activityValue' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getActivityValue' Name
 '('           Operator
 'activity'    Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
-'// Determine the next activity to execute\n' Comment.Single
+'        '    Text.Whitespace
+'// Determine the next activity to execute' Comment.Single
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nextActivity' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Operator
 'activityValue' Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'String:'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'nextActivity' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'activityValue' Name
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Closure:'    Name.Label
-' '           Text
+' '           Text.Whitespace
 'nextActivity' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'activityValue' Name
 '('           Operator
 'context'     Name
 ')'           Operator
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Class:'      Name.Label
-' '           Text
+' '           Text.Whitespace
 'nextActivity' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'activityValue' Name
 '.'           Operator
 'newInstance' Name.Attribute
 '('           Operator
 'context'     Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Operator
 'workflowMap' Name
 '['           Operator
 'afterActivityName' Name
 ']'           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'getActivityValue' Name
 '('           Operator
 'afterActivityName' Name
 '('           Operator
 'context'     Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'activity'    Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'nextActivity' Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Operator
 '!'           Operator
 'pause'       Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'nextActivity' Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'call'        Name
 '('           Operator
 'nextActivity' Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'nextActivity' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'call'        Name.Function
 '('           Operator
 'activity'    Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'execute'     Name
 '('           Operator
 'activity'    Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'nextActivity' Name.Function
 '('           Operator
 'activity'    Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'execute'     Name
 '('           Operator
 'activity'    Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Operator
 'String'      Name
 '['           Operator
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Operator
 'args'        Name
 '.'           Operator
 'size'        Name.Attribute
 '('           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'println'     Name
-' '           Text
+' '           Text.Whitespace
 "'Usage: com.odelia.groovy.simpleworkflow.SimpleWorkflowEngine <dsl_filename> <activity_name>'" Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'SimpleWorkflowEngine' Name
 '.'           Operator
 'newInstance' Name.Attribute
 '('           Operator
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'File'        Name
 '('           Operator
 'args'        Name
 '1'           Literal.Number.Integer
 ']'           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'WorkflowParser' Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'map'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ':'           Operator
 ']'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'methodMissing' Name.Function
 '('           Operator
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'map'         Name
 '['           Operator
 'name'        Name
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name
 '['           Operator
 '0'           Literal.Number.Integer
 ']'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'parse'       Name.Function
 '('           Operator
 'Closure'     Name
-' '           Text
+' '           Text.Whitespace
 'wf'          Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'wf'          Name
 '.'           Operator
 'delegate'    Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'wf'          Name
 '.'           Operator
 'resolveStrategy' Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Closure'     Name
 '.'           Operator
 'DELEGATE_FIRST' Name.Attribute
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'wf'          Name
 '('           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'map'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'workflow'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 'it'          Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'it'          Name
 '.'           Operator
 'delegate'    Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'it'          Name
 '.'           Operator
 'resolveStrategy' Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Closure'     Name
 '.'           Operator
 'DELEGATE_FIRST' Name.Attribute
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'it'          Name
 '('           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'parse'       Name.Function
 '('           Operator
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'workflowDef' Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'binding'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Binding'     Name
 '('           Operator
 '['           Operator
 'workflow:'   Name.Label
-' '           Text
+' '           Text.Whitespace
 'workflow'    Name
 ']'           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'def'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'shell'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'GroovyShell' Name
 '('           Operator
 'binding'     Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'shell'       Name
 '.'           Operator
 'evaluate'    Name.Attribute
 '('           Operator
 'workflowDef' Name
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'map'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
index 0c0c3b791099315fe54dcc5cb47693f00cc5e897..fd1912a74e59e2911cd1b232773a3f85d7096ef9 100644 (file)
@@ -6,39 +6,39 @@
 '<%@ '        Operator
 'params'      Name.Decorator
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'users'       Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Collection'  Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'User'        Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '%>'          Operator
 '\n'          Literal.String
 
 '\n'          Literal.String
 
 '<%'          Operator
-'  '          Text
+'  '          Text.Whitespace
 'for'         Keyword
 '('           Operator
-' '           Text
+' '           Text.Whitespace
 'user'        Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 'users'       Name
-' '           Text
+' '           Text.Whitespace
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 '%>'          Operator
 '\n'          Literal.String
 
@@ -66,8 +66,8 @@
 ' '           Literal.String
 ' '           Literal.String
 '<%'          Operator
-'  '          Text
+'  '          Text.Whitespace
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 '%>'          Operator
 '\n'          Literal.String
index 90979e44aff3ee9b4c27ec280756c0b6358d17ca..b3f22cd534a17f9dcbf41f584c9e28dcbba3db87 100644 (file)
 '"text/javascript"' Literal.String
 '>'           Punctuation
 ''            Text
-'\n  '        Text
-'// <!--\n'   Comment.Single
-
-'    '        Text
+'\n  '        Text.Whitespace
+'// <!--'     Comment.Single
+'\n    '      Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'toggleVisible' Name.Other
 '('           Punctuation
 'element'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'element'     Name.Other
 '.'           Punctuation
 'style'       Name.Other
 '.'           Punctuation
 'display'     Name.Other
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'block'"     Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'element'     Name.Other
 '.'           Punctuation
 'style'       Name.Other
 '.'           Punctuation
 'display'     Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'none'"      Literal.String.Single
 ';'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 'element'     Name.Other
 '.'           Punctuation
 'style'       Name.Other
 '.'           Punctuation
 'display'     Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'block'"     Literal.String.Single
 ';'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '}'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
 ';'           Punctuation
-'      \n    ' Text
+'      \n    ' Text.Whitespace
 '}'           Punctuation
-'          \n    ' Text
-'// -->\n'    Comment.Single
-
-''            Text
-'    '        Text
+'          \n    ' Text.Whitespace
+'// -->'      Comment.Single
+'\n    '      Text.Whitespace
 '<'           Punctuation
 '/'           Punctuation
 'script'      Name.Tag
index 03e70f606f81dccddd0ceab2d32febb98d0b5399..aafb1fdb4b8d0606f478b79dfdedf4734e4f59c2 100644 (file)
 'script'      Name.Tag
 '>'           Punctuation
 ''            Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'initCodeBlock' Name.Other
 '('           Punctuation
 'id'          Name.Other
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'el'          Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'document'    Name.Builtin
 '.'           Punctuation
 'getElementById' Name.Other
@@ -36,9 +36,9 @@
 'id'          Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '<'           Punctuation
 '/'           Punctuation
index c057714d7de782de2c2c5dbbcd46f8ee14543dcc..408982b0f1166cc5b2ab80f3c56194ba4e667c6c 100644 (file)
@@ -1,50 +1,50 @@
 ';;;; This contains some of the core Hy functions used' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; to make functional programming slightly easier.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '_numeric-check' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'x'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'numeric? '   Name.Builtin
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'raise'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'TypeError'   Name.Exception
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '.format'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '"{0!r} is not a number"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'coll'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Yield an infinite repetition of the items in coll"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setv '       Keyword.Declaration
 'seen'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '.append'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'seen'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'seen'        Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'seen'        Name.Variable
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Decrement n by 1"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '_numeric-check' Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '-'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'coll'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return a generator from the original collection with duplicates\n   removed"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '['           Punctuation
 'seen'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'citer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'citer'       Name.Variable
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not_in'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'seen'        Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'do'          Name.Function
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '.append'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'seen'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'drop '       Name.Builtin
 '['           Punctuation
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Drop `count` elements from `coll` and yield back the rest"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '['           Punctuation
 'citer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'try'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'range'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'next'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'citer'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'catch'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'StopIteration' Name.Exception
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'citer'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return true if n is an even number"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '_numeric-check' Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '%'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'filter'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'pred'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return all elements from `coll` that pass `pred`"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '['           Punctuation
 'citer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'citer'       Name.Variable
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pred'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Increment n by 1"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '_numeric-check' Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'instance? '  Name.Builtin
 '['           Punctuation
 'klass'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'isinstance'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'klass'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'x'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return true if x is iterable"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'try'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'do '         Keyword
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Variable
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'catch'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'Exception'   Name.Exception
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'iterate '    Name.Builtin
 '['           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setv '       Keyword.Declaration
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setv '       Keyword.Declaration
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'x'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return true if x is an iterator"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'try'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'catch'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'TypeError'   Name.Exception
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return true if n is < 0"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '_numeric-check' Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'x'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return true if x is None"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'is '         Keyword
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'None'        Keyword.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'x'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'import '     Keyword
 'numbers'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'instance? '  Name.Builtin
 'numbers.Number' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'nth '        Name.Builtin
 '['           Punctuation
 'coll'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return nth item in collection or sequence, counting from 0"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'neg? '       Name.Builtin
 'index'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iterable? '  Name.Builtin
 'coll'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'try'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first '      Keyword
 '('           Punctuation
 'list'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'take '       Name.Builtin
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'drop '       Name.Builtin
 'index'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'catch'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'IndexError'  Name.Exception
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'None'        Keyword.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'try'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get '        Keyword
 'coll'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Variable
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'catch'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'IndexError'  Name.Exception
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'None'        Keyword.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'None'        Keyword.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return true if n is an odd number"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '_numeric-check' Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '%'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return true if n is > 0"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '_numeric_check' Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'remove '     Name.Builtin
 '['           Punctuation
 'pred'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return coll with elements removed that pass `pred`"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '['           Punctuation
 'citer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'citer'       Name.Variable
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pred'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'repeat '     Name.Builtin
 '['           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 'optional'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Yield x forever or optionally n times"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'none? '      Name.Builtin
 'n'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setv '       Keyword.Declaration
 'dispatch'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword.Declaration
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'setv '       Keyword.Declaration
 'dispatch'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn '         Keyword.Declaration
 '['           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '_'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'range'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dispatch'    Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'func'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Yield result of running func repeatedly"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'func'        Name.Function
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'take '       Name.Builtin
 '['           Punctuation
 'count'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Take `count` elements from `coll`, or the whole set if the total\n    number of entries in `coll` is less than `count`."' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '['           Punctuation
 'citer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '_'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'range'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'count'       Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'next'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'citer'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'take-nth'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return every nth member of coll\n     raises ValueError for (not (pos? n))"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pos? '       Name.Builtin
 'n'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '['           Punctuation
 'citer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'skip'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dec '        Name.Builtin
 'n'           Name.Variable
 ')'           Punctuation
 ']'           Punctuation
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'citer'       Name.Variable
 ']'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '_'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'range'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'skip'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'next'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'citer'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'raise'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ValueError'  Name.Exception
-' '           Text
+' '           Text.Whitespace
 '"n must be positive"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 'take-while'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'pred'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Take all elements while `pred` is true"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let '        Keyword
 '['           Punctuation
 '['           Punctuation
 'citer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'iter'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'coll'        Name.Variable
 ')'           Punctuation
 ']'           Punctuation
 ']'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'citer'       Name.Variable
 ']'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pred'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'break'       Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defn '       Keyword.Declaration
 '['           Punctuation
 'n'           Name.Variable
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '"Return true if n is 0"' Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '_numeric_check' Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '='           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'def '        Keyword.Declaration
 '*exports*'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '"cycle"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"dec"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"distinct"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 '"drop"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '"even?"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"filter"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 '"inc"'       Literal.String
-'\n                ' Text
+'\n                ' Text.Whitespace
 '"instance?"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"iterable?"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"iterate"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 '"iterator?"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"neg?"'      Literal.String
-'\n                ' Text
+'\n                ' Text.Whitespace
 '"none?"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"nth"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '"numeric?"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 '"odd?"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '"pos?"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '"remove"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 '"repeat"'    Literal.String
-'\n                ' Text
+'\n                ' Text.Whitespace
 '"repeatedly"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"take"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '"take_nth"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 '"take_while"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"zero?"'     Literal.String
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index ed339867e18880196e9065a3cb1bd5b28b3200a5..4289e8a01c8ffc0c5c0af80c139a52847c2c5694 100644 (file)
-"; docformat = 'rst'\n" Comment.Single
+"; docformat = 'rst'" Comment.Single
+'\n'          Text.Whitespace
 
-'\n; Example IDL (Interactive Data Language) source code.\n' Comment.Single
+'\n'          Text.Whitespace
 
-'\n;+\n'      Comment.Single
+'; Example IDL (Interactive Data Language) source code.' Comment.Single
+'\n'          Text.Whitespace
 
-'; Get `nIndices` random indices for an array of size `nValues` (without \n' Comment.Single
+'\n'          Text.Whitespace
 
-'; repeating an index).\n' Comment.Single
+';+'          Comment.Single
+'\n'          Text.Whitespace
 
-';\n'         Comment.Single
+'; Get `nIndices` random indices for an array of size `nValues` (without ' Comment.Single
+'\n'          Text.Whitespace
 
-'; :Examples:\n' Comment.Single
+'; repeating an index).' Comment.Single
+'\n'          Text.Whitespace
 
-';    Try::\n' Comment.Single
+';'           Comment.Single
+'\n'          Text.Whitespace
 
-';\n'         Comment.Single
+'; :Examples:' Comment.Single
+'\n'          Text.Whitespace
 
-';       IDL> r = randomu(seed, 10)\n' Comment.Single
+';    Try::'  Comment.Single
+'\n'          Text.Whitespace
 
-";       IDL> print, r, format='(4F)'\n" Comment.Single
+';'           Comment.Single
+'\n'          Text.Whitespace
 
-';             0.6297589      0.7815896      0.2508559      0.7546844\n' Comment.Single
+';       IDL> r = randomu(seed, 10)' Comment.Single
+'\n'          Text.Whitespace
 
-';             0.1353382      0.1245834      0.8733745      0.0753110\n' Comment.Single
+";       IDL> print, r, format='(4F)'" Comment.Single
+'\n'          Text.Whitespace
 
-';             0.8054136      0.9513228\n' Comment.Single
+';             0.6297589      0.7815896      0.2508559      0.7546844' Comment.Single
+'\n'          Text.Whitespace
 
-';       IDL> ind = mg_sample(10, 3, seed=seed)\n' Comment.Single
+';             0.1353382      0.1245834      0.8733745      0.0753110' Comment.Single
+'\n'          Text.Whitespace
 
-';       IDL> print, ind\n' Comment.Single
+';             0.8054136      0.9513228' Comment.Single
+'\n'          Text.Whitespace
 
-';                  2           4           7\n' Comment.Single
+';       IDL> ind = mg_sample(10, 3, seed=seed)' Comment.Single
+'\n'          Text.Whitespace
 
-';       IDL> print, r[ind]\n' Comment.Single
+';       IDL> print, ind' Comment.Single
+'\n'          Text.Whitespace
 
-';            0.250856     0.135338    0.0753110\n' Comment.Single
+';                  2           4           7' Comment.Single
+'\n'          Text.Whitespace
 
-';\n'         Comment.Single
+';       IDL> print, r[ind]' Comment.Single
+'\n'          Text.Whitespace
 
-'; :Returns: \n' Comment.Single
+';            0.250856     0.135338    0.0753110' Comment.Single
+'\n'          Text.Whitespace
 
-';    lonarr(`nIndices`)\n' Comment.Single
+';'           Comment.Single
+'\n'          Text.Whitespace
 
-';\n'         Comment.Single
+'; :Returns: ' Comment.Single
+'\n'          Text.Whitespace
 
-'; :Params:\n' Comment.Single
+';    lonarr(`nIndices`)' Comment.Single
+'\n'          Text.Whitespace
 
-';    nValues : in, required, type=long\n' Comment.Single
+';'           Comment.Single
+'\n'          Text.Whitespace
 
-';       size of array to choose indices from\n' Comment.Single
+'; :Params:'  Comment.Single
+'\n'          Text.Whitespace
 
-';    nIndices : in, required, type=long\n' Comment.Single
+';    nValues : in, required, type=long' Comment.Single
+'\n'          Text.Whitespace
 
-';       number of indices needed\n' Comment.Single
+';       size of array to choose indices from' Comment.Single
+'\n'          Text.Whitespace
 
-';\n'         Comment.Single
+';    nIndices : in, required, type=long' Comment.Single
+'\n'          Text.Whitespace
 
-'; :Keywords:\n' Comment.Single
+';       number of indices needed' Comment.Single
+'\n'          Text.Whitespace
 
-';    seed : in, out, optional, type=integer or lonarr(36)\n' Comment.Single
+';'           Comment.Single
+'\n'          Text.Whitespace
 
-';       seed to use for random number generation, leave undefined to use a \n' Comment.Single
+'; :Keywords:' Comment.Single
+'\n'          Text.Whitespace
 
-';       seed generated from the system clock; new seed will be output\n' Comment.Single
+';    seed : in, out, optional, type=integer or lonarr(36)' Comment.Single
+'\n'          Text.Whitespace
 
-';-\n'        Comment.Single
+';       seed to use for random number generation, leave undefined to use a ' Comment.Single
+'\n'          Text.Whitespace
+
+';       seed generated from the system clock; new seed will be output' Comment.Single
+'\n'          Text.Whitespace
+
+';-'          Comment.Single
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 'g'           Text
 '_'           Text
 'l'           Text
 'e'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'V'           Text
 'a'           Text
 'e'           Text
 's'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'I'           Text
 'n'           Text
 'e'           Text
 's'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'e'           Text
 'e'           Text
 'e'           Text
 'e'           Text
 'd'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 'compile_opt' Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Text
 't'           Text
 'r'           Text
 'a'           Text
 'r'           Text
 'r'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  \n  ; get random nIndices by finding the indices of the smallest nIndices in a \n' Comment.Single
+'  \n  '      Text.Whitespace
+'; get random nIndices by finding the indices of the smallest nIndices in a ' Comment.Single
+'\n'          Text.Whitespace
 
-'  ; array of random values\n' Comment.Single
+'  '          Text.Whitespace
+'; array of random values' Comment.Single
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 'v'           Text
 'a'           Text
 'l'           Text
 'u'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'randomu'     Name.Builtin
 '('           Text
 's'           Text
 'e'           Text
 'd'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'V'           Text
 'a'           Text
 'e'           Text
 's'           Text
 ')'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  \n  ; our random values are uniformly distributed, so ideally the nIndices \n' Comment.Single
+'  \n  '      Text.Whitespace
+'; our random values are uniformly distributed, so ideally the nIndices ' Comment.Single
+'\n'          Text.Whitespace
 
-'  ; smallest values are in the first bin of the below histogram\n' Comment.Single
+'  '          Text.Whitespace
+'; smallest values are in the first bin of the below histogram' Comment.Single
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 'n'           Text
 'B'           Text
 'i'           Text
 'n'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'V'           Text
 'a'           Text
 'u'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'I'           Text
 'n'           Text
 'c'           Text
 'e'           Text
 's'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 'h'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'histogram'   Name.Builtin
 '('           Text
 'v'           Text
 'e'           Text
 's'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'b'           Text
 'i'           Text
 'n'           Text
 's'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'e'           Text
 'v'           Text
 'r'           Text
 'i'           Text
 ')'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n  ; the candidates for being in the first nIndices will live in bins 0..bin\n' Comment.Single
+'\n  '        Text.Whitespace
+'; the candidates for being in the first nIndices will live in bins 0..bin' Comment.Single
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 'n'           Text
 'C'           Text
 'a'           Text
 't'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0L'          Literal.Number.Integer.Long
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'b'           Text
 'i'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0L'          Literal.Number.Integer.Long
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'B'           Text
 'i'           Text
 'n'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1L'          Literal.Number.Integer.Long
-' '           Text
+' '           Text.Whitespace
 'do'          Keyword
-' '           Text
+' '           Text.Whitespace
 'begin'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
-' '           Text
-' '           Text
+'    '        Text.Whitespace
 'n'           Text
 'C'           Text
 'a'           Text
 't'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 'h'           Text
 '['           Text
 'b'           Text
 'i'           Text
 'n'           Text
 ']'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
-' '           Text
-' '           Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Text
 'n'           Text
 'C'           Text
 't'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'ge'          Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'I'           Text
 'n'           Text
 'e'           Text
 's'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
 'endfor'      Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n  ; get the candidates and sort them\n' Comment.Single
+'\n  '        Text.Whitespace
+'; get the candidates and sort them' Comment.Single
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 'c'           Text
 'a'           Text
 'n'           Text
 't'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'i'           Text
 '['           Text
 '['           Text
 '0'           Literal.Number.Integer
 ']'           Text
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'i'           Text
 '['           Text
 'b'           Text
 'i'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1L'          Literal.Number.Integer.Long
 ']'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1L'          Literal.Number.Integer.Long
 ']'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 's'           Text
 'o'           Text
 'r'           Text
 't'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sort'        Name.Builtin
 '('           Text
 'v'           Text
 's'           Text
 ']'           Text
 ')'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n  ; return the first nIndices of them\n' Comment.Single
+'\n  '        Text.Whitespace
+'; return the first nIndices of them' Comment.Single
+'\n'          Text.Whitespace
 
-' '           Text
-' '           Text
+'  '          Text.Whitespace
 'return'      Name.Builtin
 ','           Text
-' '           Text
+' '           Text.Whitespace
 '('           Text
 'c'           Text
 'a'           Text
 '-'           Operator
 '1L'          Literal.Number.Integer.Long
 ']'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
+
+'\n\n'        Text.Whitespace
 
-'\n\n; main-level example program\n' Comment.Single
+'; main-level example program' Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'randomu'     Name.Builtin
 '('           Text
 's'           Text
 'e'           Text
 'd'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-' '           Text
-'\n'          Text
+'            ' Text.Whitespace
+'\n'          Text.Whitespace
 
 'print'       Name.Builtin
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 'g'           Text
 '_'           Text
 '('           Text
 '10'          Literal.Number.Integer
 ','           Text
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ','           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'e'           Text
 'e'           Text
 'e'           Text
 'd'           Text
 ')'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'print'       Name.Builtin
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'i'           Text
 'n'           Text
 'd'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'print'       Name.Builtin
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 '['           Text
 'i'           Text
 'n'           Text
 'd'           Text
 ']'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
index 0ffcd9e2541ba8ab1b8a2b4c58ea97883892f16a..330d4eb402a3ca5a5feec1f44ba7315a91c4003a 100644 (file)
@@ -8,8 +8,8 @@ Switches d2SDq;
 Constant Story "Informal Testing";
 Constant Headline "^Not a game.^";!% This is a comment, not ICL.
 
-Release 4;
-Serial "200526";
+Release 5;
+Serial "220125";
 Version 5;
 
 Ifndef TARGET_ZCODE;
@@ -68,7 +68,19 @@ Origsource "^~@{.inf" 67;
 Origsource "^~@{.inf" 68 1;
 Origsource;
 
-Property long additive additive long alias;
+Property long
+    ! A long way from the property name
+    ! to the semicolon
+    ;
+Property additive;
+Property individual;
+Iffalse true;
+Property long individual;
+Property long individual individual;
+Property additive individual;
+Property individual individual;
+Endif;
+Property long additive long additive long alias;
 Property long long long wingspan alias alias;
 
 Class Flier with wingspan 5;
index c3f005fca18ec1b0b65b26be0ab7fae3101f1467..be35bb50cf7ddeca9ff6d02a731d0ee53f564e89 100644 (file)
@@ -43,7 +43,7 @@
 'Release'     Keyword
 ' '           Text
 ''            Text
-'4'           Literal.Number.Integer
+'5'           Literal.Number.Integer
 ''            Punctuation
 ';'           Punctuation
 '\n'          Text
@@ -52,7 +52,7 @@
 ' '           Text
 ''            Text
 '"'           Literal.String.Double
-'200526'      Literal.String.Double
+'220125'      Literal.String.Double
 '"'           Literal.String.Double
 ''            Punctuation
 ';'           Punctuation
 ';'           Punctuation
 '\n\n'        Text
 
+'Property'    Keyword
+' '           Text
+'long'        Name.Constant
+'\n    '      Text
+'! A long way from the property name' Comment.Single
+'\n    '      Text
+'! to the semicolon' Comment.Single
+'\n    '      Text
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
+'Property'    Keyword
+' '           Text
+'additive'    Name.Constant
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
+'Property'    Keyword
+' '           Text
+'individual'  Name.Constant
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
+'Iffalse'     Keyword
+' '           Text
+''            Text
+'true'        Name.Builtin
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
+'Property'    Keyword
+' '           Text
+'long'        Keyword
+' '           Text
+'individual'  Name.Constant
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
 'Property'    Keyword
 ' '           Text
 'long'        Keyword
 ' '           Text
+'individual'  Keyword
+' '           Text
+'individual'  Name.Constant
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
+'Property'    Keyword
+' '           Text
 'additive'    Keyword
 ' '           Text
+'individual'  Name.Constant
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
+'Property'    Keyword
+' '           Text
+'individual'  Keyword
+' '           Text
+'individual'  Name.Constant
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
+'Endif'       Keyword
+''            Punctuation
+';'           Punctuation
+'\n'          Text
+
+'Property'    Keyword
+' '           Text
+'long'        Keyword
+' '           Text
+'additive'    Keyword
+' '           Text
+'long'        Keyword
+' '           Text
 'additive'    Keyword
 ' '           Text
 'long'        Keyword
index 6caf80289eb31683deb3dab048dd7e84124a1294..f2cdf50f5ca5a12fa050d44da35fc291e2c82d34 100644 (file)
 '#!/usr/bin/ioke\n' Comment
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Ioke'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'LanguageExperiment' Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword.Reserved
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'goal:'       Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 ':expressiveness' Literal.String.Symbol
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'data:'       Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'as'          Name
 '('           Punctuation
 'code'        Name
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'code:'       Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'as'          Name
 '('           Punctuation
 'data'        Name
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'features:'   Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 ':dynamic'    Literal.String.Symbol
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 ':object_oriented' Literal.String.Symbol
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 ':prototype_based' Literal.String.Symbol
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 ':homoiconic' Literal.String.Symbol
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 ':macros'     Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'runtimes:'   Literal.String.Other
 '('           Punctuation
 'JVM'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'CLR'         Name.Class
 ')'           Punctuation
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'inspirations:' Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'set'         Keyword.Reserved
 '('           Punctuation
 'Io'          Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Smalltalk'   Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ruby'        Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Lisp'        Name.Class
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'hello'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'method'      Name.Function
 '('           Punctuation
 '"'           Literal.String.Doc
 '!'           Literal.String.Doc
 '"'           Literal.String.Doc
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'name'        Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '"'           Literal.String
 'h'           Literal.String
 'e'           Literal.String
 '}'           Punctuation
 '!'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'println'     Keyword
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Ioke'        Name.Class
-' '           Text
+' '           Text.Whitespace
 'inspirations' Name
-' '           Text
+' '           Text.Whitespace
 'select'      Name
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'features'    Name
-' '           Text
+' '           Text.Whitespace
 'include?'    Name
 '('           Punctuation
 ':object_oriented' Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'each'        Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'hello'       Name
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 7973f4e53d88c3c181764dd867e53b335e690616..5990d6f1fdac4ce7699419f093040dff030814da 100644 (file)
 'cocurrent'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'p'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
+'jpacman'     Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'coinsert'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'j'           Literal.String
 "'"           Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'BASELIB'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
+'base library' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'DATAMASK'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'HWNDP'       Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ISGUI'       Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ONLINE'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PKGDATA'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 '$'           Operator
 'a'           Name.Variable
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'SECTION'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '<'           Operator
 "'"           Literal.String
-'A'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'All'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'SYSNAME'     Name.Variable
 '=:'          Operator
-' '           Text
-"'"           Literal.String
-'P'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'M'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
+' '           Text.Whitespace
 "'"           Literal.String
-'\n'          Text
+'Package Manager' Literal.String
+"'"           Literal.String
+'\n'          Text.Whitespace
 
 'TIMEOUT'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '60'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'WWWREV'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'REV'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '_1'          Literal.Number.Integer
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'IgnoreIOS'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0 : 0'       Name.Entity
-'\n'          Literal.String
-
-'a'           Literal.String
-'p'           Literal.String
-'i'           Literal.String
-'/'           Literal.String
-'j'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'\n'          Literal.String
-
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'d'           Literal.String
-'b'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'\n'          Literal.String
-
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'m'           Literal.String
-'y'           Literal.String
-'s'           Literal.String
-'q'           Literal.String
-'l'           Literal.String
-'\n'          Literal.String
-
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'o'           Literal.String
-'d'           Literal.String
-'b'           Literal.String
-'c'           Literal.String
-'\n'          Literal.String
-
-'d'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'\n'          Literal.String
-
-'d'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'w'           Literal.String
-'d'           Literal.String
-'\n'          Literal.String
-
-'d'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'w'           Literal.String
-'d'           Literal.String
-'p'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'a'           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'m'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'w'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'a'           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'k'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'e'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'a'           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'p'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'a'           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'s'           Literal.String
-'o'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'/'           Literal.String
-'p'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'/'           Literal.String
-'s'           Literal.String
-'f'           Literal.String
-'l'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'d'           Literal.String
-'3'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'f'           Literal.String
-'v'           Literal.String
-'j'           Literal.String
-'3'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'g'           Literal.String
-'l'           Literal.String
-'2'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'g'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'v'           Literal.String
-'i'           Literal.String
-'z'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'j'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-'t'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'p'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'t'           Literal.String
-'g'           Literal.String
-'s'           Literal.String
-'j'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'t'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'p'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'v'           Literal.String
-'i'           Literal.String
-'e'           Literal.String
-'w'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'u'           Literal.String
-'i'           Literal.String
-'/'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'v'           Literal.String
-'i'           Literal.String
-'e'           Literal.String
-'w'           Literal.String
-'\n'          Literal.String
-
-'g'           Literal.String
-'u'           Literal.String
-'i'           Literal.String
-'/'           Literal.String
-'u'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'\n'          Literal.String
-
-'i'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'/'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'m'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'/'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'u'           Literal.String
-'l'           Literal.String
-'a'           Literal.String
-'\n'          Literal.String
-
-'m'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'\n'          Literal.String
-
-'m'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'g'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'l'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'\n'          Literal.String
-
-'m'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'3'           Literal.String
-'\n'          Literal.String
-
-'m'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'m'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'\n'          Literal.String
-
-'m'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'p'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'m'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'a'           Literal.String
-'/'           Literal.String
-'w'           Literal.String
-'a'           Literal.String
-'v'           Literal.String
-'\n'          Literal.String
+'\napi/jni\ndata/dbman\ndata/ddmysql\ndata/odbc\ndemos/isigraph\ndemos/wd\ndemos/wdplot\ngames/minesweeper\ngames/nurikabe\ngames/pousse\ngames/solitaire\ngeneral/pcall\ngeneral/sfl\ngraphics/d3\ngraphics/fvj3\ngraphics/gl2\ngraphics/gnuplot\ngraphics/graph\ngraphics/graphviz\ngraphics/jturtle\ngraphics/print\ngraphics/tgsj\ngraphics/treemap\ngraphics/viewmat\ngui/monthview\ngui/util\nide/qt\nmath/tabula\nmedia/animate\nmedia/gdiplus\nmedia/image3\nmedia/ming\nmedia/paint\nmedia/wav\n' Literal.String
 
 ')'           Name.Label
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'Ignore'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFIOS'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'IgnoreIOS'   Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<'           Operator
 "'"           Literal.String
-'i'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'/'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
+'ide/ios'     Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '3 : 0'       Name.Function
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nc'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'-'           Literal.String
-'-'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'-'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
+'--no-cache'  Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFUNIX'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'UNAME'       Name.Variable
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'D'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'Darwin'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'HTTPCMD'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'c'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'O'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'-'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'L'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'S'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'U'           Literal.String
+'curl -o %O --stderr %L -f -s -S %U' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'A'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
+'Android'     Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 'UNAME'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'else.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 'try.'        Name.Label
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'shell'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'w'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'-'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'l'           Literal.String
-'p'           Literal.String
+'wget --help' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'catch.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'HTTPCMD'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'w'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
+'wget '       Literal.String
 "'"           Literal.String
 ','           Operator
 'nc'          Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'O'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'O'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'L'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'U'           Literal.String
+' -O %O -o %L -t %t %U' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'fexist'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'exe'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'~'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'o'           Literal.String
-'l'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'f'           Literal.String
-'t'           Literal.String
-'p'           Literal.String
-'/'           Literal.String
-'w'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'e'           Literal.String
+'~tools/ftp/wget.exe' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'exe'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '"'           Literal.String
 "'"           Literal.String
 "'"           Literal.String
 '"'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'else.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 'exe'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'w'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'e'           Literal.String
+'wget.exe'    Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'try.'        Name.Label
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'shell'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'exe'         Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'-'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'l'           Literal.String
-'p'           Literal.String
+' --help'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'catch.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 'nc'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'HTTPCMD'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'exe'         Name.Variable
 ','           Operator
 "'"           Literal.String
 'nc'          Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'O'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'O'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'L'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'T'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'T'           Literal.String
-' '           Literal.String
-'%'           Literal.String
-'U'           Literal.String
+' -O %O -o %L -t %t -T %T %U' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'fexist'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'UNZIP'       Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'~'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'o'           Literal.String
-'l'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'/'           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'.'           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'e'           Literal.String
+'~tools/zip/unzip.exe' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'UNZIP'       Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '"'           Literal.String
 "'"           Literal.String
 'UNZIP'       Name.Variable
 ','           Operator
 "'"           Literal.String
-'"'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'C'           Literal.String
-' '           Literal.String
+'" -o -C '    Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'else.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 'UNZIP'       Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'.'           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'C'           Literal.String
-' '           Literal.String
+'unzip.exe -o -C ' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'setfiles'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ADDCFG'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
-"'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'g'           Literal.String
-'/'           Literal.String
+' '           Text.Whitespace
 "'"           Literal.String
-'\n'          Text
+'~addons/config/' Literal.String
+"'"           Literal.String
+'\n'          Text.Whitespace
 
 'makedir'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ADDCFGIJS'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
-'i'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
+'config.ijs'  Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'JRELEASE'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 '.'           Operator
 '/'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '14'          Literal.Number.Integer
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'JRELEASE'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'8'           Literal.String
-'0'           Literal.String
-'2'           Literal.String
+'j802'        Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LIBTREE'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'readtree'    Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFIOS'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'WWW'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'/'           Literal.String
-'j'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'/'           Literal.String
+'/jal/'       Literal.String
 "'"           Literal.String
 ','           Operator
 'JRELEASE'    Name.Variable
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'WWW'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'h'           Literal.String
-'t'           Literal.String
-'t'           Literal.String
-'p'           Literal.String
-':'           Literal.String
-'/'           Literal.String
-'/'           Literal.String
-'w'           Literal.String
-'w'           Literal.String
-'w'           Literal.String
-'.'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-'t'           Literal.String
-'w'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'m'           Literal.String
-'/'           Literal.String
-'j'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'/'           Literal.String
+'http://www.jsoftware.com/jal/' Literal.String
 "'"           Literal.String
 ','           Operator
 'JRELEASE'    Name.Variable
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LIBVER'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'~'           Literal.String
-'s'           Literal.String
-'y'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'/'           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'g'           Literal.String
-'/'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'~system/config/version.txt' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'destroy'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'codestroy'   Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'CFGFILES'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0 : 0'       Name.Entity
 ')'           Literal.String
-'\n'          Literal.String
-
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'r'           Literal.String
-'e'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'r'           Literal.String
-'e'           Literal.String
-'v'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
-
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
-'\n'          Literal.String
+'\naddons.txt\nlibrary.txt\nrelease.txt\nrevision.txt\nzips.txt\n' Literal.String
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LIBDESC'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0 : 0'       Name.Entity
-'\n'          Literal.String
-
-'T'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'c'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'t'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'c'           Literal.String
-'l'           Literal.String
-'u'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'J'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'y'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
+'\nThis is the base library of scripts and labs included in the J system.\n\nReinstalling or upgrading this library will overwrite files in the system subdirectory. Restart J afterwards.\n\nFiles outside the system subdirectory, such as profile.ijs, are not changed.\n' Literal.String
 
-'\n'          Literal.String
+')'           Name.Label
+'\n'          Text.Whitespace
 
-'R'           Literal.String
-'e'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
+'cutjal'      Name.Variable
+'=:'          Operator
+' '           Text.Whitespace
+'('           Punctuation
+'['           Operator
+':'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+'4'           Literal.Number.Integer
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'+'           Operator
+'/'           Operator
+'\\'          Operator
+')'           Punctuation
+' '           Text.Whitespace
+"'"           Literal.String
 ' '           Literal.String
-'o'           Literal.String
-'r'           Literal.String
+"'"           Literal.String
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+']'           Operator
+')'           Punctuation
+' '           Text.Whitespace
+'<'           Operator
+';'           Operator
+'.'           Operator
+'_1'          Literal.Number.Integer
+' '           Text.Whitespace
+']'           Operator
+'\n'          Text.Whitespace
+
+'cutjsp'      Name.Variable
+'=:'          Operator
+' '           Text.Whitespace
+'('           Punctuation
+'['           Operator
+':'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+'5'           Literal.Number.Integer
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'+'           Operator
+'/'           Operator
+'\\'          Operator
+')'           Punctuation
+' '           Text.Whitespace
+"'"           Literal.String
 ' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'y'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'u'           Literal.String
-'b'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'.'           Literal.String
-' '           Literal.String
-'R'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'J'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'f'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'d'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'F'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-'t'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'y'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'u'           Literal.String
-'b'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-','           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'u'           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'i'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
-','           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-')'           Name.Label
-'\n'          Text
-
-'cutjal'      Name.Variable
-'=:'          Operator
-' '           Text
-'('           Punctuation
-'['           Operator
-':'           Operator
-' '           Text
-'('           Punctuation
-'*'           Operator
-' '           Text
-'4'           Literal.Number.Integer
-' '           Text
-'>'           Operator
-' '           Text
-'+'           Operator
-'/'           Operator
-'\\'          Operator
-')'           Punctuation
-' '           Text
-"'"           Literal.String
-' '           Literal.String
-"'"           Literal.String
-' '           Text
-'='           Operator
-' '           Text
-']'           Operator
-')'           Punctuation
-' '           Text
-'<'           Operator
-';'           Operator
-'.'           Operator
-'_1'          Literal.Number.Integer
-' '           Text
-']'           Operator
-'\n'          Text
-
-'cutjsp'      Name.Variable
-'=:'          Operator
-' '           Text
-'('           Punctuation
-'['           Operator
-':'           Operator
-' '           Text
-'('           Punctuation
-'*'           Operator
-' '           Text
-'5'           Literal.Number.Integer
-' '           Text
-'>'           Operator
-' '           Text
-'+'           Operator
-'/'           Operator
-'\\'          Operator
-')'           Punctuation
-' '           Text
 "'"           Literal.String
-' '           Literal.String
-"'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dquote'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '"'           Literal.String
 "'"           Literal.String
 '&'           Operator
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 '&'           Operator
 '"'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fname'       Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '['           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
 '/'           Operator
 '\\'          Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 ':'           Operator
 '&'           Operator
 '/'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'hostcmd'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '('           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-' '           Literal.String
-'|'           Literal.String
-'|'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'r'           Literal.String
-'u'           Literal.String
-'e'           Literal.String
-')'           Literal.String
+' || true)'   Literal.String
 "'"           Literal.String
 '"'           Operator
 '_'           Literal.Number
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ischar'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rnd'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '0.'          Literal.Number.Float
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'sep2under'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'I'           Name.Variable
 '.'           Operator
 "'"           Literal.String
 '_'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
 ')'           Punctuation
 '}'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'termLF'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'LF'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'todel'       Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'DEL'         Name.Variable
 '&'           Operator
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ','           Operator
 '&'           Operator
 "'"           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'tolist'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'LF'          Name.Variable
 '&'           Operator
 ':'           Operator
 'each'        Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'isjpkgout'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 ':'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 ')'           Punctuation
 '@'           Operator
 '$'           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'L'           Name.Variable
 '.'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'getintro'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+'...'         Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '&'           Operator
 '3'           Literal.Number.Integer
 '@'           Operator
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
 ')'           Punctuation
 '^'           Operator
 '<'           Operator
 '#'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'info'        Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'smoutput'    Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'getnames'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'L'           Name.Variable
 '.'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'BASELIB'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'BASELIB'     Name.Variable
 ')'           Punctuation
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'cutnames'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'rplc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'BASELIB'     Name.Variable
 ';'           Operator
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'else.'       Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'cutnames'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '$'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'else.'       Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'curtailcaption' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'idx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '_1'          Literal.Number.Integer
 ';'           Operator
 '~'           Operator
 'I'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '45'          Literal.Number.Integer
 '<'           Operator
 '#'           Operator
 ':'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '45'          Literal.Number.Integer
 '&'           Operator
 'getintro'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '.'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'idx'         Name.Variable
 '{'           Operator
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'idx'         Name.Variable
 '}'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deltree'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'try.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'dirtree'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 '*'           Operator
 '.'           Operator
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 ','           Operator
 '0'           Literal.Number.Integer
 '<'           Operator
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '.'           Operator
 'dirpath'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'catch.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixjal'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'm'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'LF'          Name.Variable
 ','           Operator
 ','           Operator
 'LF'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'd'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Decorator
 '+'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'cutjal'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'c'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'd'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Decorator
 '+'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 ','           Operator
 ','           Operator
 '.'           Operator
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixjal2'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'cutjal'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixjsp'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'm'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'LF'          Name.Variable
 ','           Operator
 ','           Operator
 'LF'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'd'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Decorator
 '+'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'cutjsp'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
 ')'           Punctuation
 ','           Operator
 '.'           Operator
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixlib'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'LIBTREE'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$'           Operator
 '0'           Literal.Number.Integer
 "'"           Literal.String
 ';'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'l'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'z'           Literal.String
+'ver fln siz' Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ver'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixver'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ver'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ver'         Name.Variable
 ';'           Operator
 'fln'         Name.Variable
 ';'           Operator
 'siz'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixlibs'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fls'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fls'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'siz'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ndx'         Name.Variable
 '+'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'fls'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fls'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ndx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fls'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'fls'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '_'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pfm'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'uname'       Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'tolower'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'UNAME'       Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'uname'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 '.'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 "'"           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'pfm'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '/'           Operator
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
 '*'           Operator
 '.'           Operator
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
 ','           Operator
 '.'           Operator
 ','           Operator
 '.'           Operator
 'siz'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixrev'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '_1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '_1:'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'CRLF'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixupd'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '_1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '_1:'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'CRLF'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixver'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'ischar'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'CRLF'        Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'I'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 '='           Operator
 "'"           Literal.String
 '.'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixvers'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 's'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '$'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'I'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'.'           Literal.String
-'/'           Literal.String
+'./'          Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fmtjal'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-' '           Literal.String
-' '           Literal.String
+'  '          Literal.String
 "'"           Literal.String
 ','           Operator
 'LF2'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '@'           Operator
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 ':'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 "'"           Literal.String
 ')'           Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fmtjal2'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fmtdep'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ','           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fmtjsp'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-' '           Literal.String
-' '           Literal.String
-' '           Literal.String
+'   '         Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '@'           Operator
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 ':'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 "'"           Literal.String
 ')'           Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fmtlib'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'q'           Literal.String
-'<'           Literal.String
-'.'           Literal.String
-'>'           Literal.String
-','           Literal.String
-'q'           Literal.String
-'<'           Literal.String
-'.'           Literal.String
-'>'           Literal.String
-'r'           Literal.String
-'<'           Literal.String
-'0'           Literal.String
-'>'           Literal.String
-'3'           Literal.String
-'.'           Literal.String
-'0'           Literal.String
-','           Literal.String
-'r'           Literal.String
-'<'           Literal.String
-'0'           Literal.String
-'>'           Literal.String
-'3'           Literal.String
-'.'           Literal.String
-'0'           Literal.String
+'q<.>,q<.>r<0>3.0,r<0>3.0' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fmtver'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'ischar'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '.'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fmtverlib'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fmtver'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fixzips'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fls'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fls'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'siz'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ndx'         Name.Variable
 '+'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'fls'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fls'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ndx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fls'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'fls'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '_'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
 ','           Operator
 '.'           Operator
 '&'           Operator
 '>'           Operator
 'siz'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pfm'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'and'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
+'android'     Literal.String
 "'"           Literal.String
 '&'           Operator
 'E'           Name.Variable
 '.'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'pfm'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'lnx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
+'linux'       Literal.String
 "'"           Literal.String
 '&'           Operator
 'E'           Name.Variable
 '.'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'pfm'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'mac'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'darwin'      Literal.String
 "'"           Literal.String
 '&'           Operator
 'E'           Name.Variable
 '.'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'pfm'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'win'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'mac'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'win'         Literal.String
 "'"           Literal.String
 '&'           Operator
 'E'           Name.Variable
 '.'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'pfm'         Name.Variable
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'UNAME'       Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'W'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'Win'         Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'win'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'L'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
+'Linux'       Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'lnx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'A'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
+'Android'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'and'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'D'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'Darwin'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'mac'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '~'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'bit'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'IF64'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'6'           Literal.String
-'4'           Literal.String
+'64'          Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'3'           Literal.String
-'2'           Literal.String
+'32'          Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pfm'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'exc'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'bit'         Name.Variable
 '&'           Operator
 'E'           Name.Variable
 '.'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'pfm'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '\\'          Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'exc'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'zps'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '~'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fnm'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'lnm'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ver'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pfm'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fls'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'siz'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'zps'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nms'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fnm'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'lnm'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pfm'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pfm'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '.'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pfm'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '\\'          Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'pfm'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'sort'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ndx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 'nms'         Name.Variable
 ','           Operator
 '.'           Operator
 ','           Operator
 '.'           Operator
 'siz'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fwritenew'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '4 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'fread'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'x'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'fwrite'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'platformparent' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '('           Punctuation
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'3'           Literal.String
-'2'           Literal.String
+'32'          Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'6'           Literal.String
-'4'           Literal.String
+'64'          Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'makedir'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'plural'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '4 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'y'           Name.Decorator
 ','           Operator
 "'"           Literal.String
 's'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'sizefmt'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '1e3'         Literal.Number
-' '           Text
+' '           Text.Whitespace
 '1e4'         Literal.Number
-' '           Text
+' '           Text.Whitespace
 '1e6'         Literal.Number
-' '           Text
+' '           Text.Whitespace
 '1e7'         Literal.Number
-' '           Text
+' '           Text.Whitespace
 '1e9'         Literal.Number
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '"'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'y'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
+' byte'       Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 "'"           Literal.String
 's'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '"'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0.'          Literal.Number.Float
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'rnd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 '%'           Operator
 '1e3'         Literal.Number
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'K'           Literal.String
-'B'           Literal.String
+' KB'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '"'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'rnd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 '%'           Operator
 '1e3'         Literal.Number
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'K'           Literal.String
-'B'           Literal.String
+' KB'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '"'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0.'          Literal.Number.Float
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'rnd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 '%'           Operator
 '1e6'         Literal.Number
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'M'           Literal.String
-'B'           Literal.String
+' MB'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '"'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'rnd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 '%'           Operator
 '1e6'         Literal.Number
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'M'           Literal.String
-'B'           Literal.String
+' MB'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '"'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0.'          Literal.Number.Float
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'rnd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 '%'           Operator
 '1e9'         Literal.Number
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'G'           Literal.String
-'B'           Literal.String
+' GB'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'shellcmd'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFUNIX'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'hostcmd'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'spawn_jtask_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'subdir'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ','           Operator
 "'"           Literal.String
 '*'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'-'           Literal.String
-'d'           Literal.String
+'-d'          Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '<'           Operator
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'testaccess'  Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'jpath'       Name.Variable
 "'"           Literal.String
-'~'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'/'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'c'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'~install/testaccess.txt' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'try.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '55'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'catch.'      Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'toupper1'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'toupper'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
 ','           Operator
 'tolower'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'unzip'       Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
+'file dir'    Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'e'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'U'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
+'Unexpected unzip error' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFUNIX'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'notarcmd'    Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFIOS'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'UNAME'       Name.Variable
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'A'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
+'Android'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'notarcmd'    Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '_1'          Literal.Number.Integer
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
 '_1:'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'w'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
+'which tar'   Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'UNAME'       Name.Variable
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'A'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
+'Android'     Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'/'           Literal.String
-'m'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'/'           Literal.String
-'s'           Literal.String
-'d'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'d'           Literal.String
+'/mnt/sdcard' Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 ':'           Operator
 '5'           Literal.Number.Integer
 "'"           Literal.String
-'E'           Literal.String
-'X'           Literal.String
-'T'           Literal.String
-'E'           Literal.String
-'R'           Literal.String
-'N'           Literal.String
-'A'           Literal.String
-'L'           Literal.String
-'_'           Literal.String
-'S'           Literal.String
-'T'           Literal.String
-'O'           Literal.String
-'R'           Literal.String
-'A'           Literal.String
-'G'           Literal.String
-'E'           Literal.String
-"'"           Literal.String
-' '           Text
+'EXTERNAL_STORAGE' Literal.String
+"'"           Literal.String
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'notarcmd'    Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'notarcmd'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'require'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
+'tar'         Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 "'"           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
+'file dir'    Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
 '.'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'tar'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'x'           Literal.String
 "'"           Literal.String
 'file'        Name.Variable
 ';'           Operator
 'dir'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'else.'       Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'e'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'shellcmd'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-' '           Literal.String
+'tar '        Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'A'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
+'Android'     Literal.String
 "'"           Literal.String
 ')'           Punctuation
 '#'           Operator
 '('           Punctuation
 '('           Punctuation
 "'"           Literal.String
-'D'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'Darwin'      Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 ':'           Operator
 ':'           Operator
 "'"           Literal.String
-'-'           Literal.String
-'-'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'-'           Literal.String
-'s'           Literal.String
-'a'           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'-'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'-'           Literal.String
-'s'           Literal.String
-'a'           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'-'           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'m'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
+'--no-same-owner --no-same-permissions' Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'p'           Literal.String
+'-o -p'       Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'x'           Literal.String
-'z'           Literal.String
-'f'           Literal.String
-' '           Literal.String
+' -xzf '      Literal.String
 "'"           Literal.String
 ','           Operator
 'file'        Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'C'           Literal.String
-' '           Literal.String
+' -C '        Literal.String
 "'"           Literal.String
 ','           Operator
 'dir'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0'           Literal.Number.Integer
 '~'           Operator
 ':'           Operator
 'FHS'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
+'root'        Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 ':'           Operator
 '5'           Literal.Number.Integer
 "'"           Literal.String
-'U'           Literal.String
-'S'           Literal.String
-'E'           Literal.String
-'R'           Literal.String
+'USER'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 '2'           Literal.Number.Integer
 ':'           Operator
 '5'           Literal.Number.Integer
 "'"           Literal.String
-'H'           Literal.String
-'O'           Literal.String
-'M'           Literal.String
-'E'           Literal.String
+'HOME'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Operator
 "'"           Literal.String
-'/'           Literal.String
-'v'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'/'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
+'/var/root'   Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'/'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
+'/root'       Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'shellcmd'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
+'find '       Literal.String
 "'"           Literal.String
 ','           Operator
 'dir'         Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'t'           Literal.String
-'y'           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'+'           Literal.String
-'r'           Literal.String
-'x'           Literal.String
-' '           Literal.String
-'{'           Literal.String
-'}'           Literal.String
-' '           Literal.String
-'\\'          Literal.String
-'+'           Literal.String
+' -type d -exec chmod a+rx {} \\+' Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'shellcmd'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
+'find '       Literal.String
 "'"           Literal.String
 ','           Operator
 'dir'         Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'t'           Literal.String
-'y'           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'+'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'{'           Literal.String
-'}'           Literal.String
-' '           Literal.String
-'\\'          Literal.String
-'+'           Literal.String
+' -type f -exec chmod a+r {} \\+' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'dir'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '_2'          Literal.Number.Integer
 '&'           Operator
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '_2'          Literal.Number.Integer
 '&'           Operator
 '{'           Operator
 '.'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'dir'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'e'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'shellcmd'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'UNZIP'       Name.Variable
 ','           Operator
 "'"           Literal.String
 'file'        Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'d'           Literal.String
-' '           Literal.String
+' -d '        Literal.String
 "'"           Literal.String
 ','           Operator
 'dir'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'e'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'zipext'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'y'           Name.Decorator
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'IFUNIX'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'.'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
+'.zip'        Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'.'           Literal.String
-'g'           Literal.String
-'z'           Literal.String
+'.tar.gz'     Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'CHECKADDONSDIR' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0 : 0'       Name.Entity
-'\n'          Literal.String
-
-'T'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'I'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-':'           Literal.String
-' '           Literal.String
-'X'           Literal.String
-'X'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'Y'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'e'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'y'           Literal.String
-','           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'w'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'y'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'c'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
+'\nThe addons directory does not exist and cannot be created.\n\nIt is set to: XX.\n\nYou can either create the directory manually, or set a new addons directory in your profile script.\n' Literal.String
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'CHECKASK'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0 : 0'       Name.Entity
-'\n'          Literal.String
-
-'R'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'m'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'?'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'O'           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-'f'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
+'\nRead catalog from the server using Internet connection now?\n\nOtherwise the local catalog is used offline.\n' Literal.String
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'CHECKONLINE' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0 : 0'       Name.Entity
-'\n'          Literal.String
-
-'A'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'C'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'y'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-' '           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'O'           Literal.String
-'K'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'e'           Literal.String
-'?'           Literal.String
-'\n'          Literal.String
+'\nAn active Internet connection is needed to install packages.\n\nContinue only if you have an active Internet connection.\n\nOK to continue?\n' Literal.String
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'CHECKREADSVR' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0 : 0'       Name.Entity
-'\n'          Literal.String
-
-'A'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'p'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'C'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'y'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-' '           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'O'           Literal.String
-'K'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'e'           Literal.String
-'?'           Literal.String
-'\n'          Literal.String
+'\nAn active Internet connection is needed to read the server repository catalog.\n\nContinue only if you have an active Internet connection.\n\nOK to continue?\n' Literal.String
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'CHECKSTARTUP' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0 : 0'       Name.Entity
-'\n'          Literal.String
-
-'S'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'p'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'?'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'S'           Literal.String
-'e'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'N'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-','           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'m'           Literal.String
-'p'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'.'           Literal.String
-' '           Literal.String
-'A'           Literal.String
-'f'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'S'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-','           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'p'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-'f'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-' '           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'p'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'T'           Literal.String
-'o'           Literal.String
-'o'           Literal.String
-'l'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'P'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'c'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
+'\nSetup repository using Internet connection now?\n\nSelect No if not connected, to complete setup later. After Setup is done, repository can be used offline with more options in Tools menu and Preferences dialog.\n' Literal.String
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'checkaccess' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'testaccess'  Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'U'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'P'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'M'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-','           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'y'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'c'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'o'           Literal.String
-'l'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'.'           Literal.String
+'Unable to run Package Manager, as you do not have access to the installation folder.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFWIN'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
 ','           Operator
 'LF2'         Name.Variable
 ','           Operator
 "'"           Literal.String
-'T'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'A'           Literal.String
-'d'           Literal.String
-'m'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-','           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'g'           Literal.String
-'h'           Literal.String
-'t'           Literal.String
-'-'           Literal.String
-'c'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'J'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-','           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'R'           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
+'To run as Administrator, right-click the J icon, select Run as... and ' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
 ','           Operator
 "'"           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'A'           Literal.String
-'d'           Literal.String
-'m'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'.'           Literal.String
+'then select Adminstrator.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'info'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'checkaddonsdir' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'd'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
-"'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
+' '           Text.Whitespace
 "'"           Literal.String
-'\n'          Text
+'~addons'     Literal.String
+"'"           Literal.String
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'd'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'C'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-':'           Literal.String
-' '           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Created addons directory: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'd'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'info'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'CHECKADDONSDIR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rplc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'X'           Literal.String
-'X'           Literal.String
+'XX'          Literal.String
 "'"           Literal.String
 ';'           Operator
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'getonline'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ONLINE'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 '='           Operator
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'wdquery'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'getserver'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'p'           Literal.String
+'rc p'        Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'httpgetr'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'WWW'         Name.Variable
 ','           Operator
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'v'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'revision.txt' Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ';'           Operator
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'write_lastupdate' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'WWWREV'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixrev'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'WWWREV'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'REV'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'refreshweb'  Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'checkonline' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'ReadCatalog_j_' Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'REV'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'ONLINE'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n    '      Text
+'\n    '      Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'U'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'p'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
-' '           Literal.String
-'S'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'P'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'c'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
+'Using local copy of catalog. See Preferences to change the setting.' Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getonline'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'R'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'C'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'m'           Literal.String
-' '           Literal.String
-'S'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
+'Read Catalog from Server' Literal.String
 "'"           Literal.String
 ';'           Operator
 'CHECKREADSVR' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ONLINE'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'REV'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getonline'   Name.Variable
-' '           Text
-"'"           Literal.String
-'R'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'C'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'m'           Literal.String
-' '           Literal.String
-'S'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Read Catalog from Server' Literal.String
 "'"           Literal.String
 ';'           Operator
 'CHECKASK'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n      '    Text
+'\n      '    Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'U'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'p'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
-' '           Literal.String
-'S'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'P'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'c'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
+'Using local copy of catalog. See Preferences to change the setting.' Literal.String
 "'"           Literal.String
-'\n      '    Text
+'\n      '    Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'else.'       Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getonline'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'S'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'R'           Literal.String
-'e'           Literal.String
-'p'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
+'Setup Repository' Literal.String
 "'"           Literal.String
 ';'           Operator
 'CHECKSTARTUP' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'U'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+' '           Text.Whitespace
 "'"           Literal.String
-'\n'          Text
+'Updating server catalog...' Literal.String
+"'"           Literal.String
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'getserver'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ONLINE'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'W'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'k'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-'f'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'p'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Working offline using local copy of catalog.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'D'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
+'Done.'       Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'checkstatus' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'LIBS'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'masklib'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ups'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgups'      Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'libupm'      Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'ups'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'addnim'      Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '/'           Operator
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'pkgnew'      Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'addupm'      Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '/'           Operator
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'pkgups'      Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'tot'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '/'           Operator
 'addnim'      Name.Variable
 'addupm'      Name.Variable
 ','           Operator
 'libupm'      Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tot'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Literal.String
-'A'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'v'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
+'All available packages are installed and up to date.' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'addnim'      Name.Variable
 ','           Operator
 'addupm'      Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'A'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
+'Addons are up to date.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'A'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-','           Literal.String
-' '           Literal.String
+'All addons are installed, ' Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 'addupm'      Name.Variable
 ')'           Punctuation
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
+' can be upgraded.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'addnim'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ':'           Operator
 '#'           Operator
 'PKGDATA'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'N'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
+'No addons are installed.' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'else.'       Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'j'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
+' addon'      Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'y'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
+' are not yet installed.' Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-','           Literal.String
-' '           Literal.String
+'Installed addons are up to date, ' Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Operator
 'j'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'j'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Operator
 ':'           Operator
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
+' addon'      Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-','           Literal.String
-' '           Literal.String
+' can be upgraded, ' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'j'           Name.Variable
 ','           Operator
 '('           Punctuation
 'addnim'      Name.Variable
 ')'           Punctuation
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
+' addon'      Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'y'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
+' are not yet installed.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'libupm'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 ','           Operator
 'LF'          Name.Variable
 ','           Operator
 "'"           Literal.String
-'T'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
+'The base library is up to date.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 ','           Operator
 'LF'          Name.Variable
 ','           Operator
 "'"           Literal.String
-'T'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'w'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'.'           Literal.String
+'There is a newer version of the base library.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'write_lastupdate' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'txt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'txt'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fwrites'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'l'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'lastupdate.txt' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'checklastupdate' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '_1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'LASTUPD'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
+'has never been updated.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'w'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-':'           Literal.String
-' '           Literal.String
+'was last updated: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'timestamp'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LASTUPD'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'L'           Literal.String
-'o'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'J'           Literal.String
-'A'           Literal.String
-'L'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'f'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
+'Local JAL information ' Literal.String
 "'"           Literal.String
 ','           Operator
 'res'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'getdepend'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dep'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getdepend_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PKGDATA'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'dep'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'getdepend_console' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'old'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ids'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dep'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ','           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ids'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'dep'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'whilst.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 '-'           Operator
 ':'           Operator
 'old'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'old'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ','           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ids'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'dep'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '~'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Variable
 ':'           Operator
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ADDINS'      Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'httpget'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'t'           Literal.String
+'f t'         Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'boxxopen'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
 ','           Operator
 'a'           Name.Variable
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'n'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '.'           Operator
 '/'           Operator
 '\\'          Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'='           Literal.String
-'/'           Literal.String
+'=/'          Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'p'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'~'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'p'           Literal.String
-'/'           Literal.String
+'~temp/'      Literal.String
 "'"           Literal.String
 ','           Operator
 'n'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'q'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'~'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'p'           Literal.String
-'/'           Literal.String
-'h'           Literal.String
-'t'           Literal.String
-'t'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
+'~temp/httpget.log' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 't'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Operator
 ':'           Operator
 '{'           Operator
 't'           Name.Variable
 ','           Operator
 '3'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ';'           Operator
 'q'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fail'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'cmd'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'HTTPCMD'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rplc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'%'           Literal.String
-'O'           Literal.String
+'%O'          Literal.String
 "'"           Literal.String
 ';'           Operator
 '('           Punctuation
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
 ';'           Operator
 "'"           Literal.String
-'%'           Literal.String
-'L'           Literal.String
+'%L'          Literal.String
 "'"           Literal.String
 ';'           Operator
 '('           Punctuation
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'q'           Name.Variable
 ')'           Punctuation
 ';'           Operator
 "'"           Literal.String
-'%'           Literal.String
-'t'           Literal.String
+'%t'          Literal.String
 "'"           Literal.String
 ';'           Operator
 't'           Name.Variable
 ';'           Operator
 "'"           Literal.String
-'%'           Literal.String
-'T'           Literal.String
+'%T'          Literal.String
 "'"           Literal.String
 ';'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Operator
 "'"           Literal.String
-'%'           Literal.String
-'U'           Literal.String
+'%U'          Literal.String
 "'"           Literal.String
 ';'           Operator
 'f'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFIOS'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'UNAME'       Name.Variable
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'A'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
+'Android'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'require'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'o'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
+'socket'      Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '55'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'p'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'rc'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pp'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'whilst.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'k'           Literal.String
+'rc sk'       Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'sdsocket_jsocket_' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '~'           Operator
 ':'           Operator
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'break.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'rc'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'sdconnect_jsocket_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sk'          Name.Variable
 ';'           Operator
 'PF_INET_jsocket_' Name.Variable
 ';'           Operator
 "'"           Literal.String
-'2'           Literal.String
-'3'           Literal.String
-'.'           Literal.String
-'2'           Literal.String
-'1'           Literal.String
-'.'           Literal.String
-'6'           Literal.String
-'7'           Literal.String
-'.'           Literal.String
-'4'           Literal.String
-'8'           Literal.String
+'23.21.67.48' Literal.String
 "'"           Literal.String
 ';'           Operator
 '80'          Literal.Number.Integer
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '~'           Operator
 ':'           Operator
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'break.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
+'rc sent'     Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String
-'G'           Literal.String
-'E'           Literal.String
-'T'           Literal.String
-' '           Literal.String
+'GET '        Literal.String
 "'"           Literal.String
 ','           Operator
 'f'           Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'H'           Literal.String
-'T'           Literal.String
-'T'           Literal.String
-'P'           Literal.String
-'/'           Literal.String
-'1'           Literal.String
-'.'           Literal.String
-'0'           Literal.String
+' HTTP/1.0'   Literal.String
 "'"           Literal.String
 ','           Operator
 'LF2'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sdsend_jsocket_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sk'          Name.Variable
 ';'           Operator
 '0'           Literal.Number.Integer
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '~'           Operator
 ':'           Operator
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'break.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'while.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '0'           Literal.Number.Integer
 'm'           Name.Decorator
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'m'           Literal.String
+'rc m'        Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'sdrecv_jsocket_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sk'          Name.Variable
 ','           Operator
 '4096'        Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n      '    Text
+'\n      '    Text.Whitespace
 'pp'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pp'          Name.Variable
 ','           Operator
 'm'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'sdclose_jsocket_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sk'          Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '~'           Operator
 ':'           Operator
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'fail'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
 '@'           Operator
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'2'           Literal.String
-'0'           Literal.String
-'0'           Literal.String
-' '           Literal.String
-'O'           Literal.String
-'K'           Literal.String
+'200 OK'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '20'          Literal.Number.Integer
 '{'           Operator
 '.'           Operator
 'pp'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'fail'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 '.'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 'LF'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pp'          Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'p1'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'I'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CRLF'        Name.Variable
 ','           Operator
 'CRLF'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '500'         Literal.Number.Integer
 '{'           Operator
 '.'           Operator
 'pp'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'p2'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'p1'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'I'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'LF2'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '500'         Literal.Number.Integer
 '{'           Operator
 '.'           Operator
 'pp'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'p2'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'fail'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 'fail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'p2'          Name.Variable
 '.'           Operator
 'pp'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'p'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'else.'       Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '~'           Operator
 ':'           Operator
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'sderror_jsocket_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'try.'        Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'e'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'shellcmd'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'cmd'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'catch.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 'fail'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'fail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'fsize'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '_1'          Literal.Number.Integer
 '-'           Operator
 ':'           Operator
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'q'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'U'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'r'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
+'Unexpected error' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'C'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-':'           Literal.String
-' '           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Connection failed: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'msg'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'info'        Name.Variable
-' '           Text
-"'"           Literal.String
-'C'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-':'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Connection failed:' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF2'         Name.Variable
 ','           Operator
 'msg'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Operator
 'msg'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ';'           Operator
 'q'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Operator
 'p'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'q'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'httpgetr'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'httpget'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'f'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'txt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Operator
 'txt'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getdepend'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'m'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'z'           Literal.String
+'num siz'     Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pmview_applycounts' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'many'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
+'Installing ' Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
+' package'    Literal.String
 "'"           Literal.String
 ','           Operator
 'many'        Name.Variable
 "'"           Literal.String
 's'           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
+' of '        Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 'many'        Name.Variable
 '#'           Operator
 "'"           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-' '           Literal.String
+'total '      Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'z'           Literal.String
-'e'           Literal.String
-' '           Literal.String
+'size '       Literal.String
 "'"           Literal.String
 ','           Operator
 'sizefmt'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'siz'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'installdo'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'D'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
+'Done.'       Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'readlocal'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pacman_init' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_console' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'init_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
+'server'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getnames'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '<'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'all'         Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 "'"           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
+'base library' Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pkgnew'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'pkgups'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '&'           Operator
 '{'           Operator
 '@'           Operator
 ']'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'Ignore'      Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getdepend_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'many'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
+'Installing ' Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
+' package'    Literal.String
 "'"           Literal.String
 ','           Operator
 'many'        Name.Variable
 "'"           Literal.String
 's'           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'installdo'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'D'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
+'Done.'       Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'readlocal'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pacman_init' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'checkstatus' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'upgrade_console' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'init_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
+'read'        Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getnames'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'pkgs'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '<'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'all'         Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pkgups'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '&'           Operator
 '{'           Operator
 ']'           Operator
 ')'           Punctuation
 'PKGDATA'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'install_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'installdo'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'BASELIB'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'install_library' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_addon' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_addon' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ZIPS'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'ndx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'ZIPS'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'EMPTY'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'D'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Downloading ' Literal.String
 "'"           Literal.String
 ','           Operator
 'y'           Name.Decorator
 ','           Operator
 "'"           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+'...'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ndx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 'ZIPS'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'p'           Literal.String
+'rc p'        Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'httpget'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'WWW'         Name.Variable
 ','           Operator
 "'"           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+'addons/'     Literal.String
 "'"           Literal.String
 ','           Operator
 'f'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
+'Installing ' Literal.String
 "'"           Literal.String
 ','           Operator
 'y'           Name.Decorator
 ','           Operator
 "'"           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+'...'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'unzip'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ';'           Operator
 'jpath'       Name.Variable
 "'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
+'~addons'     Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '>'           Operator
 ':'           Operator
 'fsize'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
 "'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+'~addons/'    Literal.String
 "'"           Literal.String
 ','           Operator
 'y'           Name.Decorator
 ','           Operator
 "'"           Literal.String
-'/'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'i'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
+'/manifest.ijs' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'E'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-':'           Literal.String
-' '           Literal.String
+'Extraction failed: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'msg'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'info'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'E'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-':'           Literal.String
+'Extraction failed:' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF2'         Name.Variable
 ','           Operator
 'msg'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_addins' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_config' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_addins' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 :0'        Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'fl'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'addins.txt'  Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ins'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixjal2'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fl'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ins'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ins'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ins'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ADDONS'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ins'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'sort'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ins'         Name.Variable
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'ndx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 'ADDONS'      Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'fmtjal2'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ins'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fwrites'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fl'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_config' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ADDLABS'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'ADDCFGIJS'   Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_labs' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'write_config' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_labs' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'labs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'dirtree'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
-"'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'~addons/'    Literal.String
 "'"           Literal.String
 ','           Operator
 'y'           Name.Decorator
 ','           Operator
 "'"           Literal.String
-'/'           Literal.String
-'*'           Literal.String
-'.'           Literal.String
-'i'           Literal.String
-'j'           Literal.String
-'t'           Literal.String
+'/*.ijt'      Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'labs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pfx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
-"'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'~addons/'    Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'labs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#'           Operator
 'pfx'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'labs'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LABCATEGORY' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'jpath'       Name.Variable
-' '           Text
-"'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'~addons/'    Literal.String
 "'"           Literal.String
 ','           Operator
 'y'           Name.Decorator
 ','           Operator
 "'"           Literal.String
-'/'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'i'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
+'/manifest.ijs' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'cat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'LABCATEGORY' Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'cat'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'cat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'toupper1'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'labs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 "'"           Literal.String
 ' '           Literal.String
 "'"           Literal.String
 ','           Operator
 'cat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'txt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'sort'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Name.Variable
 ','           Operator
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ADDLABS'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'.'           Literal.String
-'i'           Literal.String
-'j'           Literal.String
-'t'           Literal.String
+'.ijt'        Literal.String
 "'"           Literal.String
 '&'           Operator
 'E'           Name.Variable
 '.'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'txt'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fexist'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'pfx'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ndx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'txt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'txt'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ADDLABS'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 'txt'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_library' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'D'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+' '           Text.Whitespace
 "'"           Literal.String
-'\n'          Text
+'Downloading base library...' Literal.String
+"'"           Literal.String
+'\n'          Text.Whitespace
 
 'f'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LIB'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'p'           Literal.String
+'rc p'        Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'httpget'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'WWW'         Name.Variable
 ','           Operator
 "'"           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'/'           Literal.String
+'library/'    Literal.String
 "'"           Literal.String
 ','           Operator
 'f'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+'Installing base library...' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'unzip'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ';'           Operator
 'jpath'       Name.Variable
 "'"           Literal.String
-'~'           Literal.String
-'s'           Literal.String
-'y'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
+'~system'     Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'readlin'     Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'write_config' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'txt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'N'           Literal.String
-'B'           Literal.String
-'.'           Literal.String
-' '           Literal.String
-'A'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'g'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
+'NB. Addon configuration' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF2'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'txt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'txt'         Name.Variable
 ','           Operator
 "'"           Literal.String
-'A'           Literal.String
-'D'           Literal.String
-'D'           Literal.String
-'L'           Literal.String
-'A'           Literal.String
-'B'           Literal.String
-'S'           Literal.String
-'='           Literal.String
-':'           Literal.String
-' '           Literal.String
-'0'           Literal.String
-' '           Literal.String
-':'           Literal.String
-' '           Literal.String
-'0'           Literal.String
+'ADDLABS=: 0 : 0' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'txt'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fwrites'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFGIJS'   Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'show_console' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '4 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'init_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
+'read'        Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-'h'           Literal.String
+'search'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getnames'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pkgsearch'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'curtailcaption' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
+'show'        Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getnames'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '<'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'all'         Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgshow'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'res'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n      '    Text
+'\n      '    Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 '('           Punctuation
 '<'           Operator
 "'"           Literal.String
-'='           Literal.String
-'='           Literal.String
-' '           Literal.String
+'== '         Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '.'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '2'           Literal.Number.Integer
 '#'           Operator
 'LF'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'joinstring'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '70'          Literal.Number.Integer
 '&'           Operator
 '&'           Operator
 '.'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
+"'"           Literal.String
+'showinstalled' Literal.String
 "'"           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-"'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isjpkgout'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
 ')'           Punctuation
 ';'           Operator
 '<'           Operator
 'y'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '.'           Operator
 '@'           Operator
 'pkgnew'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
 ')'           Punctuation
 'dat'         Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'curtailcaption' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-"'"           Literal.String
-' '           Text
+'shownotinstalled' Literal.String
+"'"           Literal.String
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isjpkgout'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
 ')'           Punctuation
 ';'           Operator
 '<'           Operator
 'y'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pkgnew'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 '&'           Operator
 '{'           Operator
 ']'           Operator
 ')'           Punctuation
 'dat'         Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'curtailcaption' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-"'"           Literal.String
-' '           Text
+'showupgrade' Literal.String
+"'"           Literal.String
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'isjpkgout'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
 ')'           Punctuation
 ';'           Operator
 '<'           Operator
 'y'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pkgups'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
 ')'           Punctuation
 'dat'         Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'curtailcaption' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
+'status'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'checklastupdate' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 ','           Operator
 'LF'          Name.Variable
 'checkstatus' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'showfiles_console' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '4 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'init_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
+'read'        Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getnames'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '.'           Operator
 '@'           Operator
 'pkgnew'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '&'           Operator
 '{'           Operator
 '@'           Operator
 ']'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'BASELIB'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'fn'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 "'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+'~addons/'    Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '&'           Operator
 '.'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pkgs'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '&'           Operator
 '.'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 "'"           Literal.String
 '/'           Literal.String
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
+'history'     Literal.String
 "'"           Literal.String
 ')'           Punctuation
 '{'           Operator
 ':'           Operator
 ':'           Operator
 "'"           Literal.String
-'.'           Literal.String
-'i'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
+'.ijs'        Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'.txt'        Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 '_1'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fread'       Name.Variable
 '@'           Operator
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '.'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'fn'          Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'res'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '('           Punctuation
 '('           Punctuation
 '<'           Operator
 "'"           Literal.String
-'='           Literal.String
-'='           Literal.String
-' '           Literal.String
+'== '         Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '.'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'msk'         Name.Variable
 '#'           Operator
 'pkgs'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '2'           Literal.Number.Integer
 '#'           Operator
 'LF'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'joinstring'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'remove_console' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'init_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
+'edit'        Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getnames'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 '<'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'all'         Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '.'           Operator
 '@'           Operator
 'pkgnew'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '&'           Operator
 '{'           Operator
 '@'           Operator
 ']'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pkgs'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'BASELIB'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'pkgs'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'many'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'num'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'R'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
+'Removing '   Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-'a'           Literal.String
-'g'           Literal.String
-'e'           Literal.String
+' package'    Literal.String
 "'"           Literal.String
 ','           Operator
 'many'        Name.Variable
 "'"           Literal.String
 's'           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'remove_addon' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pkgs'        Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'D'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
+'Done.'       Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'readlocal'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pacman_init' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'checkstatus' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'remove_addon' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'R'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Removing '   Literal.String
 "'"           Literal.String
 ','           Operator
 'y'           Name.Decorator
 ','           Operator
 "'"           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+'...'         Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'treepath'    Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
-"'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'~addons/'    Literal.String
 "'"           Literal.String
 ','           Operator
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '@'           Operator
 'dirtree'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
 '@'           Operator
 'deltree'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'treepath'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'nf'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 'dirtree'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'treepath'    Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'nd'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 'dirpath'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'treepath'    Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'nd'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'nd'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tolower'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'treepath'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'dirpath'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
-"'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'~addons/'    Literal.String
 "'"           Literal.String
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'taketo'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Operator
 ':'           Operator
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
+' directories and ' Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
+' files not removed.' Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'R'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-':'           Literal.String
-' '           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Remove failed: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'msg'         Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'info'        Name.Variable
-' '           Text
-"'"           Literal.String
-'R'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'a'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-':'           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'Remove failed:' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF2'         Name.Variable
 ','           Operator
 'msg'         Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return.'     Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'remove_addins' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'remove_config' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'remove_addins' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 :0'        Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'fl'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'addins.txt'  Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ins'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixjal2'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fl'          Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ins'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ins'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ins'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'fmtjal2'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ins'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fwrites'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fl'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'remove_config' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ADDLABS'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '0'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'ADDCFGIJS'   Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'remove_labs' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'write_config' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'remove_labs' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'txt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 ';'           Operator
 '.'           Operator
 '_2'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ADDLABS'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'txt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'txt'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'jpathsep'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#'           Operator
 'y'           Name.Decorator
 '&'           Operator
 '{'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ADDLABS'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 'txt'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LF'          Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LOG'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'LOG'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'smoutput'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'logstatus'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'ONLINE'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'checkstatus' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'readlin'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LIN'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'fixver'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LIBVER'      Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'readlocal'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'readlin'     Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ADDONS'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixjal'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'addons.txt'  Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ADDINS'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixjal2'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'addins.txt'  Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'REV'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixrev'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'v'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'revision.txt' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LASTUPD'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixupd'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'l'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'lastupdate.txt' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LIBS'        Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixlibs'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'library.txt' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'LIB'         Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixlib'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LIBS'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ZIPS'        Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixzips'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'zips.txt'    Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'EMPTY'       Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'readtree'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'t'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'tree.txt'    Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'tree'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'LF'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'tree'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'c'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
+'current'     Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
+'stable'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'tree'        Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'c'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
+'current'     Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'writetree'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tree'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'tree'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'writetree'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'fwritenew'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'t'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'tree.txt'    Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'refreshweb'  Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'refreshjal'  Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'readlocal'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'refreshaddins' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ADDLABS'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'x'           Literal.String
-'t'           Literal.String
+'addins.txt'  Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'p'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
-"'"           Literal.String
-'~'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'/'           Literal.String
+' '           Text.Whitespace
 "'"           Literal.String
-'\n'          Text
+'~addons/'    Literal.String
+"'"           Literal.String
+'\n'          Text.Whitespace
 
 'sd'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
 'subdir'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'subdir'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'sd'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'fwrite'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'write_config' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'for_d'       Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'sd'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'mft'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'freads'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Operator
 'd'           Name.Variable
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'i'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
+'manifest.ijs' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'mft'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '_1'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'continue.'   Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'VERSION'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 '0'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '100'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'mft'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ver'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fmtver'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fixver'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'VERSION'     Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'n'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#'           Operator
 'p'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 'd'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'n'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'I'           Name.Variable
 '.'           Operator
 '\\'          Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'r'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'r'           Name.Variable
 ','           Operator
 'n'           Name.Decorator
 'ver'         Name.Variable
 ','           Operator
 'LF'          Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 's'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ','           Operator
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fwritenew'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 's'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#'           Operator
 'p'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'install_labs' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'write_config' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'refreshjal'  Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'p'           Literal.String
+'rc p'        Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'httpget'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'WWW'         Name.Variable
 ','           Operator
 'zipext'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
+'jal'         Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'unzip'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ';'           Operator
 'ADDCFG'      Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'CFGFILES'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '['           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ADDCFG'      Name.Variable
 ','           Operator
 "'"           Literal.String
 '*'           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'C'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-'l'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'p'           Literal.String
-'o'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
+'Could not install the local repository catalog.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'log'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'info'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'updatejal'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'log'         Name.Variable
-' '           Text
-"'"           Literal.String
-'U'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'g'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+' '           Text.Whitespace
 "'"           Literal.String
-'\n  '        Text
+'Updating server catalog...' Literal.String
+"'"           Literal.String
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'init_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
+'server'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'refreshaddins' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'readlocal'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'pacman_init' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'checklastupdate' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
 ','           Operator
 'LF'          Name.Variable
 'checkstatus' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'RELIBMSG'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '0 : 0'       Name.Entity
-'\n'          Literal.String
-
-'Y'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'X'           Literal.String
-'X'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-','           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'Y'           Literal.String
-'Y'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'T'           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'Y'           Literal.String
-'Y'           Literal.String
-' '           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'i'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-' '           Literal.String
-'A'           Literal.String
-'d'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'f'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'.'           Literal.String
-'\n'          Literal.String
-
-'\n'          Literal.String
-
-'O'           Literal.String
-'K'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'Y'           Literal.String
-'Y'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'?'           Literal.String
-'\n'          Literal.String
+'\nYou are now using the XX base library, and can switch to the YY base library.\n\nThis will download the YY version of the base library and overwrite existing files. Addons are not affected.\n\nOK to switch to the YY library?\n' Literal.String
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'prelib'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'old'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'LIBTREE'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 "'"           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
+'stable'      Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'c'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
+'current'     Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'old'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'c'           Literal.String
-'u'           Literal.String
-'r'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'n'           Literal.String
-'t'           Literal.String
+'current'     Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'b'           Literal.String
-'e'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
+'beta'        Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'RELIBMSG'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'rplc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String
-'X'           Literal.String
-'X'           Literal.String
+'XX'          Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'Y'           Literal.String
-'Y'           Literal.String
+'YY'          Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 'old'         Name.Variable
 ';'           Operator
 'new'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'query'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'SYSNAME'     Name.Variable
 ';'           Operator
 'msg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'info'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'N'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
+'Not done.'   Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'switchlibrary' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'new'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'switchlibrary' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'fwrite'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LIBVER'      Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'writetree'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LIBTREE'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'refreshjal'  Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'readlocal'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pmview_setpn' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'masklib'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'BASELIB'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pkglater'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's'           Name.Variable
 '=.'          Operator
 'isjpkgout'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
 '{'           Operator
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
 ';'           Operator
 '<'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'dat'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '$'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'loc'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixvers'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '2'           Literal.Number.Integer
 '-'           Operator
 's'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'srv'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'fixvers'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '3'           Literal.Number.Integer
 '-'           Operator
 's'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
 ':'           Operator
 '"'           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'srv'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 ':'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'loc'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pkgnew'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's'           Name.Variable
 '=.'          Operator
 'isjpkgout'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 ')'           Punctuation
 '{'           Operator
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
 ';'           Operator
 '<'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'dat'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '$'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '2'           Literal.Number.Integer
 '-'           Operator
 's'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pkgups'      Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'pkgnew'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'pkglater'    Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pkgsearch'   Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '+'           Operator
 '.'           Operator
 '/'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '.'           Operator
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'E'           Name.Variable
 '.'           Operator
 '"'           Operator
 '"'           Operator
 '('           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '_'           Literal.Number
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pkgshow'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'setshowall'  Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PKGDATA'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 '('           Punctuation
 ';'           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'setshownew'  Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'I'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'DATAMASK'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'pkgnew'      Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PKGDATA'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'ndx'         Name.Variable
 ';'           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'setshowups'  Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'I'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'DATAMASK'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'pkgups'      Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PKGDATA'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 'ndx'         Name.Variable
 ';'           Operator
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'splitlib'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '$'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'msk'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'masklib'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'msk'         Name.Variable
 '#'           Operator
 'y'           Name.Decorator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '('           Punctuation
 '-'           Operator
 ')'           Punctuation
 '#'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pacman_init' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ADDONS'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ADDONS'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ZIPS'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'dat'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ndx'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ADDINS'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'ins'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ndx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'ADDINS'      Name.Variable
 ')'           Punctuation
 ','           Operator
 '<'           Operator
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
 ','           Operator
 '.'           Operator
 '<'           Operator
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'ins'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Operator
 '"'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'lib'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
+'base library' Literal.String
 "'"           Literal.String
 ';'           Operator
 '('           Punctuation
 'fmtver'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LIN'         Name.Variable
 ')'           Punctuation
 ';'           Operator
 '('           Punctuation
 'fmtver'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'LIB'         Name.Variable
 ')'           Punctuation
 ';'           Operator
 "'"           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'c'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-'t'           Literal.String
-'s'           Literal.String
+'base library scripts' Literal.String
 "'"           Literal.String
 ';'           Operator
 'LIBDESC'     Name.Variable
 ';'           Operator
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
 ','           Operator
 'lib'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'dat'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 '0'           Literal.Number.Integer
 ','           Operator
 '.'           Operator
 'dat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'PKGDATA'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 'sort'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'dat'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nms'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '"'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'PKGDATA'     Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nms'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nms'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 '.'           Operator
 '&'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '/'           Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '.'           Operator
 'each'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nms'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'SECTION'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'A'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'All'         Literal.String
 "'"           Literal.String
 ';'           Operator
 'nms'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'DATAMASK'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#'           Operator
 'PKGDATA'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '$'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'EMPTY'       Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'init_console' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '='           Operator
 '#'           Operator
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
+'read'        Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'fcase.'      Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
+'edit'        Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
+'server'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'checkaccess' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
+'read'        Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'checkaddonsdir' Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'setfiles'    Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'readlocal'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'pacman_init' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
+'server'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'getserver'   Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'jpkg'        Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '4 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
+'history'     Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
+'manifest'    Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'x'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'showfiles_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'install'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'install_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'reinstall'   Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'remove_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'install_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
+'remove'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'remove_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 ';'           Operator
 ':'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
+'show search showinstalled shownotinstalled showupgrade status' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'x'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'show_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
+'update'      Literal.String
 "'"           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'updatejal'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
+'upgrade'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'upgrade_console' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'V'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'p'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-':'           Literal.String
+'Valid options are:' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-' '           Literal.String
-'h'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-','           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-','           Literal.String
-' '           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'f'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-','           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-','           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-','           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-','           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-','           Literal.String
+'  history, install, manifest, remove, reinstall, show, search,' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-','           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-','           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-','           Literal.String
-' '           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-','           Literal.String
+'  showinstalled, shownotinstalled, showupgrade, status,' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'msg'         Name.Variable
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-','           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'g'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-"'"           Literal.String
-'\n  '        Text
+'  update, upgrade' Literal.String
+"'"           Literal.String
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'do_install'  Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'checkaccess_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'u'           Literal.String
-'p'           Literal.String
-'d'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
+'update'      Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'jpkg'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'select.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
+'qtide'       Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
+'angle'       Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'install'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'jpkg'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'b'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'/'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
+'base library ide/qt' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'getqtbin'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Decorator
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
+'angle'       Literal.String
 "'"           Literal.String
 ')'           Punctuation
 '{'           Operator
 '0'           Literal.Number.Integer
 ';'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
+'angle'       Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'msg'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Operator
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'IFWIN'       Name.Variable
 ','           Operator
 "'"           Literal.String
-'D'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'Darwin'      Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 'UNAME'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'s'           Literal.String
-'h'           Literal.String
+'jqt.sh'      Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
+'the jqt icon' Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'c'           Literal.String
-'m'           Literal.String
-'d'           Literal.String
+'jqt.cmd'     Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'smoutput'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'e'           Literal.String
-'x'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'J'           Literal.String
-' '           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
+'exit and restart J using ' Literal.String
 "'"           Literal.String
 ','           Operator
 'msg'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case.'       Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'all'         Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'install'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'jpkg'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'all'         Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'getqtbin'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'do_getqtbin' Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 'smoutput'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'J'           Literal.String
-'Q'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+'Installing JQt binaries...' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'L'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
+'Linux'       Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 'UNAME'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFRASPI'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'z'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'-'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'s'           Literal.String
-'p'           Literal.String
-'i'           Literal.String
-'-'           Literal.String
-'3'           Literal.String
-'2'           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'.'           Literal.String
-'g'           Literal.String
-'z'           Literal.String
+'jqt-raspi-32.tar.gz' Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'else.'       Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'z'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'-'           Literal.String
+'jqt-'        Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
+'slim'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
+'linux'       Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
+'slim'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 ','           Operator
 '('           Punctuation
 'IF64'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'x'           Literal.String
-'8'           Literal.String
-'6'           Literal.String
+'x86'         Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'x'           Literal.String
-'6'           Literal.String
-'4'           Literal.String
+'x64'         Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-'.'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'.'           Literal.String
-'g'           Literal.String
-'z'           Literal.String
+'.tar.gz'     Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'z1'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'s'           Literal.String
-'o'           Literal.String
+'libjqt.so'   Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFWIN'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'z'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'-'           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'jqt-win'     Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
+'slim'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
 '#'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
+'slim'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 ','           Operator
 '('           Punctuation
 'IF64'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'x'           Literal.String
-'8'           Literal.String
-'6'           Literal.String
+'x86'         Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'x'           Literal.String
-'6'           Literal.String
-'4'           Literal.String
+'x64'         Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-'.'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
+'.zip'        Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'z1'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'d'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'jqt.dll'     Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'z'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'-'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
+'jqt-mac'     Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
+'slim'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
 '#'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
+'slim'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 ','           Operator
 '('           Punctuation
 'IF64'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'x'           Literal.String
-'8'           Literal.String
-'6'           Literal.String
+'x86'         Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'x'           Literal.String
-'6'           Literal.String
-'4'           Literal.String
+'x64'         Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-'.'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
+'.zip'        Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'z1'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'d'           Literal.String
-'y'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
+'libjqt.dylib' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'p'           Literal.String
+'rc p'        Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'httpget_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'h'           Literal.String
-'t'           Literal.String
-'t'           Literal.String
-'p'           Literal.String
-':'           Literal.String
-'/'           Literal.String
-'/'           Literal.String
-'w'           Literal.String
-'w'           Literal.String
-'w'           Literal.String
-'.'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-'t'           Literal.String
-'w'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'m'           Literal.String
-'/'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'/'           Literal.String
-'j'           Literal.String
-'8'           Literal.String
-'0'           Literal.String
-'2'           Literal.String
-'/'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'i'           Literal.String
-'d'           Literal.String
-'e'           Literal.String
-'/'           Literal.String
+'http://www.jsoftware.com/download/j802/qtide/' Literal.String
 "'"           Literal.String
 ','           Operator
 'z'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'smoutput'    Name.Variable
-' '           Text
-"'"           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-':'           Literal.String
-' '           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'unable to download: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'd'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'~'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'~bin'        Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFWIN'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'unzip_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ';'           Operator
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'L'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
+'Linux'       Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 'UNAME'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0'           Literal.Number.Integer
 '~'           Operator
 ':'           Operator
 'FHS'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFRASPI'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n        '  Text
+'\n        '  Text.Whitespace
 'd1'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'/'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'r'           Literal.String
-'/'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'/'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'m'           Literal.String
-'-'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
-'-'           Literal.String
-'g'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'e'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'h'           Literal.String
-'f'           Literal.String
-'/'           Literal.String
-'.'           Literal.String
+'/usr/lib/arm-linux-gnueabihf/.' Literal.String
 "'"           Literal.String
-'\n      '    Text
+'\n      '    Text.Whitespace
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'IF64'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n        '  Text
+'\n        '  Text.Whitespace
 'd1'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'/'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'r'           Literal.String
-'/'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'/'           Literal.String
-'x'           Literal.String
-'8'           Literal.String
-'6'           Literal.String
-'_'           Literal.String
-'6'           Literal.String
-'4'           Literal.String
-'-'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
-'-'           Literal.String
-'g'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'/'           Literal.String
-'.'           Literal.String
+'/usr/lib/x86_64-linux-gnu/.' Literal.String
 "'"           Literal.String
-'\n      '    Text
+'\n      '    Text.Whitespace
 'elseif.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n        '  Text
+'\n        '  Text.Whitespace
 'd1'          Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'/'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'r'           Literal.String
-'/'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'/'           Literal.String
-'i'           Literal.String
-'3'           Literal.String
-'8'           Literal.String
-'6'           Literal.String
-'-'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
-'-'           Literal.String
-'g'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'/'           Literal.String
-'.'           Literal.String
+'/usr/lib/i386-linux-gnu/.' Literal.String
 "'"           Literal.String
-'\n      '    Text
+'\n      '    Text.Whitespace
 'end.'        Name.Label
-'\n      '    Text
+'\n      '    Text.Whitespace
 'hostcmd_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'c'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'/'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'r'           Literal.String
-'/'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'&'           Literal.String
-'&'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'-'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'-'           Literal.String
-'s'           Literal.String
-'a'           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'-'           Literal.String
-'n'           Literal.String
-'o'           Literal.String
-'-'           Literal.String
-'s'           Literal.String
-'a'           Literal.String
-'m'           Literal.String
-'e'           Literal.String
-'-'           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'m'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'x'           Literal.String
-'z'           Literal.String
-'f'           Literal.String
-' '           Literal.String
+'cd /usr/bin && tar --no-same-owner --no-same-permissions -xzf ' Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-' '           Literal.String
-'&'           Literal.String
-'&'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'7'           Literal.String
-'5'           Literal.String
-'5'           Literal.String
-' '           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'&'           Literal.String
-'&'           Literal.String
-' '           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'m'           Literal.String
-'o'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'6'           Literal.String
-'4'           Literal.String
-'4'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'s'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'&'           Literal.String
-'&'           Literal.String
-' '           Literal.String
-'m'           Literal.String
-'v'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'.'           Literal.String
-'s'           Literal.String
-'o'           Literal.String
-' '           Literal.String
+' && chmod 755 jqt && chmod 644 libjqt.so && mv libjqt.so ' Literal.String
 "'"           Literal.String
 ','           Operator
 'd1'          Name.Variable
-'\n    '      Text
+'\n    '      Text.Whitespace
 'else.'       Name.Label
-'\n      '    Text
+'\n      '    Text.Whitespace
 'hostcmd_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'c'           Literal.String
-'d'           Literal.String
-' '           Literal.String
+'cd '         Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'&'           Literal.String
-'&'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-' '           Literal.String
-'x'           Literal.String
-'z'           Literal.String
-'f'           Literal.String
-' '           Literal.String
+' && tar xzf ' Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'end.'        Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'else.'       Name.Label
-'\n    '      Text
+'\n    '      Text.Whitespace
 'hostcmd_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-' '           Literal.String
+'unzip -o '   Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'d'           Literal.String
-' '           Literal.String
+' -d '        Literal.String
 "'"           Literal.String
 ','           Operator
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '0'           Literal.Number.Integer
 '*'           Operator
 '.'           Operator
 "'"           Literal.String
-'L'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
+'Linux'       Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 ':'           Operator
 '('           Punctuation
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'~'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'/'           Literal.String
+'~bin/'       Literal.String
 "'"           Literal.String
 ','           Operator
 'z1'          Name.Variable
 ')'           Punctuation
 ';'           Operator
 "'"           Literal.String
-'/'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'r'           Literal.String
-'/'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'/'           Literal.String
-'j'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
+'/usr/bin/jqt' Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'm'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'F'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'J'           Literal.String
-'Q'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
+'Finished install of JQt binaries.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'm'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'U'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'J'           Literal.String
-'Q'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
+'Unable to install JQt binaries.' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'm'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Decorator
 ','           Operator
 "'"           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'y'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-' '           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'w'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'m'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-':'           Literal.String
-' '           Literal.String
+'check that you have write permission for: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
 '*'           Operator
 '.'           Operator
 "'"           Literal.String
-'L'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
+'Linux'       Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 ':'           Operator
 '('           Punctuation
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'~'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'~bin'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ';'           Operator
 "'"           Literal.String
-'/'           Literal.String
-'u'           Literal.String
-'s'           Literal.String
-'r'           Literal.String
-'/'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'/usr/bin'    Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'smoutput'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'L'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'u'           Literal.String
-'x'           Literal.String
+'Linux'       Literal.String
 "'"           Literal.String
 '-'           Operator
 ':'           Operator
 'UNAME'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-' '           Text
+' '           Text.Whitespace
 'end.'        Name.Label
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'tgt'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'IFWIN'       Name.Variable
 '{'           Operator
 ':'           Operator
 ':'           Operator
 "'"           Literal.String
-'~'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'/'           Literal.String
-'Q'           Literal.String
-'t'           Literal.String
+'~install/Qt' Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'~'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'/'           Literal.String
-'Q'           Literal.String
-'t'           Literal.String
-'5'           Literal.String
-'C'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'d'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'~bin/Qt5Core.dll' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'y'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
 '#'           Operator
 '0'           Literal.Number.Integer
 ';'           Operator
 'y'           Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'smoutput'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'I'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-' '           Literal.String
-'Q'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'r'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'y'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
-'.'           Literal.String
+'Installing Qt library...' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFWIN'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'z'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'5'           Literal.String
-'3'           Literal.String
-'-'           Literal.String
+'qt53-'       Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
+'angle'       Literal.String
 "'"           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'w'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'win'         Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-'g'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
+'angle'       Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
+'slim'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
 '#'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
-'-'           Literal.String
+'slim-'       Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 '('           Punctuation
 'IF64'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'x'           Literal.String
-'8'           Literal.String
-'6'           Literal.String
+'x86'         Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'x'           Literal.String
-'6'           Literal.String
-'4'           Literal.String
+'x64'         Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-'.'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
+'.zip'        Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'z'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'5'           Literal.String
-'3'           Literal.String
-'-'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'-'           Literal.String
+'qt53-mac-'   Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 '-'           Operator
 ':'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
+'slim'        Literal.String
 "'"           Literal.String
 ')'           Punctuation
 '#'           Operator
 "'"           Literal.String
-'s'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'m'           Literal.String
-'-'           Literal.String
+'slim-'       Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 '('           Punctuation
 'IF64'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pick'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'x'           Literal.String
-'8'           Literal.String
-'6'           Literal.String
+'x86'         Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'x'           Literal.String
-'6'           Literal.String
-'4'           Literal.String
+'x64'         Literal.String
 "'"           Literal.String
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-'.'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
+'.zip'        Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String
-'r'           Literal.String
-'c'           Literal.String
-' '           Literal.String
-'p'           Literal.String
+'rc p'        Literal.String
 "'"           Literal.String
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'httpget_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'h'           Literal.String
-'t'           Literal.String
-'t'           Literal.String
-'p'           Literal.String
-':'           Literal.String
-'/'           Literal.String
-'/'           Literal.String
-'w'           Literal.String
-'w'           Literal.String
-'w'           Literal.String
-'.'           Literal.String
-'j'           Literal.String
-'s'           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-'t'           Literal.String
-'w'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'e'           Literal.String
-'.'           Literal.String
-'c'           Literal.String
-'o'           Literal.String
-'m'           Literal.String
-'/'           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-'/'           Literal.String
-'j'           Literal.String
-'8'           Literal.String
-'0'           Literal.String
-'2'           Literal.String
-'/'           Literal.String
-'q'           Literal.String
-'t'           Literal.String
-'l'           Literal.String
-'i'           Literal.String
-'b'           Literal.String
-'/'           Literal.String
+'http://www.jsoftware.com/download/j802/qtlib/' Literal.String
 "'"           Literal.String
 ','           Operator
 'z'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'rc'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'smoutput'    Name.Variable
-' '           Text
-"'"           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'d'           Literal.String
-'o'           Literal.String
-'w'           Literal.String
-'n'           Literal.String
-'l'           Literal.String
-'o'           Literal.String
-'a'           Literal.String
-'d'           Literal.String
-':'           Literal.String
-' '           Literal.String
+' '           Text.Whitespace
+"'"           Literal.String
+'unable to download: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'return.'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'd'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'jpath'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'IFWIN'       Name.Variable
 '{'           Operator
 ':'           Operator
 ':'           Operator
 "'"           Literal.String
-'~'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
+'~install'    Literal.String
 "'"           Literal.String
 ';'           Operator
 "'"           Literal.String
-'~'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'~bin'        Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'IFWIN'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'unzip_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ';'           Operator
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'hostcmd_jpacman_' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'u'           Literal.String
-'n'           Literal.String
-'z'           Literal.String
-'i'           Literal.String
-'p'           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'o'           Literal.String
-' '           Literal.String
+'unzip -o '   Literal.String
 "'"           Literal.String
 ','           Operator
 '('           Punctuation
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
 ','           Operator
 "'"           Literal.String
-' '           Literal.String
-'-'           Literal.String
-'d'           Literal.String
-' '           Literal.String
+' -d '        Literal.String
 "'"           Literal.String
 ','           Operator
 'dquote'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ferase'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if.'         Name.Label
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '1'           Literal.Number.Integer
 '!'           Operator
 ':'           Operator
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'tgt'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'do.'         Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'm'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'F'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'d'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'o'           Literal.String
-'f'           Literal.String
-' '           Literal.String
-'Q'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
+'Finished install of Qt binaries.' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'else.'       Name.Label
-'\n  '        Text
+'\n  '        Text.Whitespace
 'm'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'U'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'b'           Literal.String
-'l'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'o'           Literal.String
-' '           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'s'           Literal.String
-'t'           Literal.String
-'a'           Literal.String
-'l'           Literal.String
-'l'           Literal.String
-' '           Literal.String
-'Q'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
-'a'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'e'           Literal.String
-'s'           Literal.String
-'.'           Literal.String
+'Unable to install Qt binaries.' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'm'           Name.Decorator
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Decorator
 ','           Operator
 "'"           Literal.String
-'c'           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'c'           Literal.String
-'k'           Literal.String
-' '           Literal.String
-'t'           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'t'           Literal.String
-' '           Literal.String
-'y'           Literal.String
-'o'           Literal.String
-'u'           Literal.String
-' '           Literal.String
-'h'           Literal.String
-'a'           Literal.String
-'v'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'w'           Literal.String
-'r'           Literal.String
-'i'           Literal.String
-'t'           Literal.String
-'e'           Literal.String
-' '           Literal.String
-'p'           Literal.String
-'e'           Literal.String
-'r'           Literal.String
-'m'           Literal.String
-'i'           Literal.String
-'s'           Literal.String
-'s'           Literal.String
-'i'           Literal.String
-'o'           Literal.String
-'n'           Literal.String
-' '           Literal.String
-'f'           Literal.String
-'o'           Literal.String
-'r'           Literal.String
-':'           Literal.String
-' '           Literal.String
+'check that you have write permission for: ' Literal.String
 "'"           Literal.String
 ','           Operator
 'LF'          Name.Variable
 ';'           Operator
 'jpath'       Name.Variable
 "'"           Literal.String
-'~'           Literal.String
-'b'           Literal.String
-'i'           Literal.String
-'n'           Literal.String
+'~bin'        Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end.'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'smoutput'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Decorator
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'jpkg_z_'     Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '3 : 0'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Literal.String
-'h'           Literal.String
-'e'           Literal.String
-'l'           Literal.String
-'p'           Literal.String
+'help'        Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'jpkg'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 ':'           Operator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'a'           Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'conew'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
-'j'           Literal.String
-'p'           Literal.String
-'a'           Literal.String
-'c'           Literal.String
-'m'           Literal.String
-'a'           Literal.String
-'n'           Literal.String
-"'"           Literal.String
-'\n  '        Text
+'jpacman'     Literal.String
+"'"           Literal.String
+'\n  '        Text.Whitespace
 'res'         Name.Variable
 '=.'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'jpkg__a'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Decorator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'destroy__a'  Name.Variable
 "'"           Literal.String
 "'"           Literal.String
-'\n  '        Text
+'\n  '        Text.Whitespace
 'res'         Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 'jpkgv_z_'    Name.Variable
 '=:'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Operator
 '@'           Operator
 ':'           Operator
 '('           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 ')'           Punctuation
 ')'           Punctuation
 '@'           Operator
 'jpkg'        Name.Variable
-'\n'          Text
+'\n'          Text.Whitespace
index 25066a027ef84aa11904ac37ed6c1b7b2a5e55ec..b61143c9013cc3140bcaad4834b2d39403b90cbc 100644 (file)
@@ -1,53 +1,53 @@
 '; Example JVM assembly' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; Tested with JasminXT 2.4' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.bytecode'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '49.0'        Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.source'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld.java' Literal.String.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.class'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'final'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'enum'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld'  Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.super'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'Object'      Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.implements' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/io/'    Name.Namespace
 'Serializable' Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.signature'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'Ljava/lang/Object;Ljava/io/Serializable;' Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.enclosing'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 ''            Text
 'hw/jasmin.'  Name.Namespace
 'HelloWorldRunner.' Name.Class
 '('           Punctuation
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.deprecated' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.annotation' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'visible'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld'  Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'I'           Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'annotation'  Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.debug'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'Happy debugging!' Literal.String.Double
 '"'           Literal.String.Double
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.inner'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'interface'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'InnerInterface' Name.Class
-' '           Text
+' '           Text.Whitespace
 'inner'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'HelloWorld$InnerInterface' Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 'outer'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld'  Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.inner'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'InnerClass'  Name.Class
-' '           Text
+' '           Text.Whitespace
 'inner'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld$InnerClass' Name.Class
-' '           Text
+' '           Text.Whitespace
 'outer'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'HelloWorld'  Literal.String.Single
 "'"           Literal.String.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.field'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'volatile'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'transient'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'I'           Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.field'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'protected'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'final'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'serialVersionUID' Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'J'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 'signature'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'TJ;'         Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2147483648'  Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.field'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'annotation'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'protected'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'protected'   Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '[[['         Punctuation
 'L'           Keyword.Type
 'com/oracle/util/' Name.Namespace
 'Checksums'   Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '.deprecated' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '.signature'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '[[[Lcom/oracle/util/Checksums;' Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '.attribute'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'foo'         Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'foo.txt'     Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '.attribute'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'foo'         Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'foo.txt'     Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'field'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.field'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'newline'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.field'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'defaultString' Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Ljava/lang/String;' Literal.String.Single
 "'"           Literal.String.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '<init>'      Name.Function
 '('           Punctuation
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.line'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.var'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'is'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'HelloWorld'  Name.Class
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'from'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'to'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokenonvirtual' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'Object/'     Name.Class
 '<init>'      Name.Function
 '('           Punctuation
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'public'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 '['           Punctuation
 ';'           Punctuation
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.throws'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java.lang/'  Name.Namespace
 'RuntimeException' Name.Exception
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.catch'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang.'  Name.Namespace
 'ClassCastException' Name.Exception
-' '           Text
+' '           Text.Whitespace
 'from'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'cast'        Name.Label
-' '           Text
+' '           Text.Whitespace
 'to'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'extra_l'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 'using'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '/extra'      Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.signature'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '([Ljava/lang/String;)V' Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.stack'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'offset'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '/Input'      Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'String'      Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Uninitialized' Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'End'         Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Uninitialized' Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Top'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Integer'     Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Float'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Long'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Double'      Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Null'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'UninitializedThis' Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'String'      Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Uninitialized' Keyword
-' '           Text
+' '           Text.Whitespace
 'End'         Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Uninitialized' Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Top'         Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Integer'     Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Float'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Long'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Double'      Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'Null'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'UninitializedThis' Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.stack'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'use'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'locals'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'offset'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'extra'       Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.stack'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'use'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'locals'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.line'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0xd'         Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.var'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'is'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'L'           Keyword.Type
 'java/lang/'  Name.Namespace
 'String'      Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_w'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'arraylength' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ifne'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '/Input'      Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'anewarray'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'String'      Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'checkcast'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'L'           Keyword.Type
 'java/lang/'  Name.Namespace
 'String'      Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'World'       Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'putstatic'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld.' Name.Class
 'defaultString' Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'java/lang/'  Name.Namespace
 'String'      Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aastore'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/Input'      Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_3'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'multianewarray' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '[['          Punctuation
 'C'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_1'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aaload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_1'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aaload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore_3'    Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '<<o'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_3'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokestatic' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld/' Name.Class
 'int'         Name.Function
 '('           Punctuation
 ')'           Punctuation
 'I'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'castore'     Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '<<\\u0020'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_3'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dsub'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'd2i'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokestatic' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld/' Name.Class
 'double'      Name.Function
 '('           Punctuation
 ')'           Punctuation
 'D'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'd2i'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'castore'     Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '<<!'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_3'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lxor'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ladd'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lsub'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lneg'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'l2i'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokestatic' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld/' Name.Class
 'long'        Name.Function
 '('           Punctuation
 ')'           Punctuation
 'J'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'l2i'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'castore'     Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '<<H'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fconst_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup_x2'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fdiv'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fmul'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'f2l'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'l2i'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swap'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokestatic' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld/' Name.Class
 'float'       Name.Function
 '('           Punctuation
 'F'           Keyword.Type
 ')'           Punctuation
 'F'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'f2i'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'castore'     Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '<<e'         Name.Label
-'\t'          Text
+'\t'          Text.Whitespace
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i2s'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i2c'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i2b'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newarray'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'short'       Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newarray'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'byte'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'sipush'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0x65'        Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bastore'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'baload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'sastore'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'saload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int2short'   Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int2char'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'int2byte'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'castore'     Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-' '           Text
+' '           Text.Whitespace
 '<<l'         Name.Label
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bipush'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0x1b'        Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
 '*2'          Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ishl'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lookupswitch' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '/lookupswitch' Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '0x6c'        Literal.Number.Hex
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/lookupswitch' Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'default'     Keyword.Reserved
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*2'          Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/lookupswitch' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'castore'     Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc2_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lcmp'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.set'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.set'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'j'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.var'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'is'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'from'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'i++'         Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 'to'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'End'         Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.var'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'is'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'j'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'signature'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'I'           Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 'from'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'i++'         Name.Label
-' '           Text
+' '           Text.Whitespace
 'to'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'End'         Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'istore'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'goto'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i++'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iinc'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
 ':'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'istore_w'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'goto_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'j++'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iinc_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '2'           Literal.Number.Integer
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'getstatic'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'System/'     Name.Class
 'out'         Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'java/io/'    Name.Namespace
 'PrintStream' Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_1'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aaload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload_w'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'caload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokevirtual' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/io/'    Name.Namespace
 'PrintStream/' Name.Class
 'print'       Name.Function
 'C'           Keyword.Type
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if_icmpne'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+6'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jsr'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'extra'       Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if_icmplt'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'j++'         Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if_icmpgt'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'i++'         Name.Label
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '<<\\u00a0'   Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'getstatic'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'System/'     Name.Class
 'out'         Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'java/io/'    Name.Namespace
 'PrintStream' Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokestatic' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld/' Name.Class
 'get"example' Name.Function
 '('           Punctuation
 'L'           Keyword.Type
 'HelloWorld'  Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'getfield'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld/' Name.Class
 'newline'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokevirtual' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/io/'    Name.Namespace
 'PrintStream/' Name.Class
 'print'       Name.Function
 'C'           Keyword.Type
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'End'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'extra'       Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'tableswitch' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'extra_l'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'extra_string' Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'default'     Keyword.Reserved
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'End'         Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nop'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extra_string' Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'getstatic'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'System/'     Name.Class
 'out'         Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'java/io/'    Name.Namespace
 'PrintStream' Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aaload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokevirtual' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/io/'    Name.Namespace
 'PrintStream/' Name.Class
 'print'       Name.Function
 ';'           Punctuation
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'cast'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'String'      Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'checkcast'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'Class'       Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pop'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'java/lang/'  Name.Namespace
 'String'      Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'checkcast'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'java/lang/'  Name.Namespace
 'Class'       Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pop'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newarray'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'checkcast'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'Z'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pop'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newarray'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'int'         Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'checkcast'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld'  Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'checkcast'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'HelloWorld'  Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pop'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extra_l'     Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'getstatic'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'System/'     Name.Class
 'out'         Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'java/io/'    Name.Namespace
 'PrintStream' Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '\\123'       Literal.String.Escape
 '.'           Literal.String.Double
 '.'           Literal.String.Double
 '\\\\'        Literal.String.Escape
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_5'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokeinterface' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'CharSequence/' Name.Class
 'charAt'      Name.Function
 'I'           Keyword.Type
 ')'           Punctuation
 'C'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokevirtual' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/io/'    Name.Namespace
 'PrintStream/' Name.Class
 'print'       Name.Function
 'C'           Keyword.Type
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/extra'      Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pop'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'private'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'get"example' Name.Function
 '('           Punctuation
 ')'           Punctuation
 'L'           Keyword.Type
 'HelloWorld'  Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.catch'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'all'         Keyword
-' '           Text
+' '           Text.Whitespace
 'from'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'to'          Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '53'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'using'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '59'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aconst_null' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore_w'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'try'         Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'goto'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+0x11'      Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
 'finally'     Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore_w'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'putfield'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld/' Name.Class
 'newline'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret_w'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'nop'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'areturn'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ifnonnull'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$-2'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ifnull'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+3'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'new'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld'  Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokespecial' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld/' Name.Class
 '<init>'      Name.Function
 '('           Punctuation
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'monitorenter' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'monitorexit' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'new'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'RuntimeException' Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'invokespecial' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'java/lang/'  Name.Namespace
 'RuntimeException/' Name.Class
 '<init>'      Name.Function
 '('           Punctuation
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'athrow'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aconst_null' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/try'        Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aconst_null' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if_acmpeq'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+3'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'areturn'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 'catch'       Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jsr'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+10'        Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aconst_null' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if_acmpne'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '/try'        Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'areturn'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'astore_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'aload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'jsr_w'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'finally'     Name.Label
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ret'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String.Single
 'single'      Literal.String.Single
 'label'       Literal.String.Single
 "'"           Literal.String.Single
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; Messes up [@ below if lexed sloppily' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'varargs'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'private'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'int'         Name.Function
 '('           Punctuation
 ')'           Punctuation
 'I'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.annotation' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'invisible'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'HelloWorld'  Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '[@'          Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '@'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'WhatIsThis???' Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.annotation' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '; name, type, exttype' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'I'           Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '; name, type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'another-I'   Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'Enum'        Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'e'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Ljava/util/logging/Level;' Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 'FINE'        Literal.String.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'annotation'  Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '.annotation' Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 's'           Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 's'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'foo'         Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'another-s'   Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 's'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'bar'         Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'Enum'        Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'e'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Ljava/util/logging/Level;' Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 'FINE'        Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'FINE'        Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'FINE'        Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 'FINE'        Literal.String.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'annotation'  Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'float'       Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'F'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '123.456'     Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'annotation'  Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.annotation' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'visibleparam' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'L'           Keyword.Type
 'HelloWorld'  Name.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'x'           Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'I'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0x01'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '0x02'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '0x03'        Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'y'           Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'I'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'annotation'  Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.annotation' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'invisibleparam' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '255'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'HelloWorld'  Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'a'           Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'F'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1.2'         Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'b'           Literal.String.Other
-' '           Text
+' '           Text.Whitespace
 'D'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3.4'         Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'annotation'  Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.annotation' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'default'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'I'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'annotation'  Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '20'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newarray'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'instanceof'  Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'Z'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bipush'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0x9'         Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bipush'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0xB'         Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iand'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_5'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_4'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup_x1'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_m1'   Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iadd'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bipush'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '+-111'       Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ineg'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swap'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'idiv'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup_x2'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ishr'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ishl'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'imul'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ior'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'bipush'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '-73'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ixor'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isub'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iadd'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'irem'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iastore'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iaload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'istore_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'istore_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload_1'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'istore_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload_2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'istore_3'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iload_3'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2_x1'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if_icmpeq'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+33'        Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if_icmpge'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+28'        Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if_icmple'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+23'        Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ifle'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+19'        Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ifeq'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+15'        Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iflt'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+11'        Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ifgt'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+7'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ifge'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '$+3'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ireturn'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'private'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'fpstrict'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'double'      Name.Function
 '('           Punctuation
 ')'           Punctuation
 'D'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '11'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dcmpg'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newarray'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'double'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dcmpl'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc2_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '128.'        Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc2_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '-240.221d'   Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dneg'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc2_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '158.d'       Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dadd'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2_x2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'drem'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ddiv'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pop2'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dmul'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'd2f'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'f2d'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'd2l'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'l2i'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iushr'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i2d'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dastore'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'daload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dstore_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dstore_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dload_1'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dstore_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dload_2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dstore_3'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dload_3'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dstore'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dstore_w'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dload_w'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dreturn'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'long'        Name.Function
 '('           Punctuation
 ')'           Punctuation
 'J'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '11'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newarray'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'long'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc2_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5718613688'  Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc2_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '3143486100'  Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc2_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0x3'         Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldiv'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lmul'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc2_w'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '-10000000000' Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lrem'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc_w'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0x60'        Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i2l'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lor'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '0x33'        Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i2l'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'land'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lshl'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_3'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lshr'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_3'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lushr'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ladd'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'l2d'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'd2l'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'l2f'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'f2l'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lastore'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'laload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lstore_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lstore_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lload_1'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lstore_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lload_2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lstore_3'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lload_3'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lstore'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lstore_w'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lload_w'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'lreturn'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'private'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'float'       Name.Function
 '('           Punctuation
 'F'           Keyword.Type
 ')'           Punctuation
 'F'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'locals'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '.limit'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'stack'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'iconst_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'newarray'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'float'       Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fcmpg'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup2_x2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fadd'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fsub'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fneg'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'frem'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ldc'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '70'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i2f'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fadd'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fadd'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'swap'        Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pop'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fastore'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'dup'         Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fcmpl'       Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'faload'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fstore_0'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload_0'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fstore_1'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload_1'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fstore_2'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload_2'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fstore_3'    Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload_3'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fstore'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fstore_w'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'fload_w'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'freturn'     Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'abstract'    Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'bridge'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'synthetic'   Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'acc1()V'     Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'breakpoint'  Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.method'     Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'native'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'synchronized' Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'acc2'        Name.Function
 '('           Punctuation
 ')'           Punctuation
 'V'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.end'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'method'      Keyword.Reserved
-'\n'          Text
+'\n'          Text.Whitespace
index c89e5c7f1a7136619cf03be4805ee092dcd30ce9..f48d488a9ad34af4a6de5fde3af162a1fc03eca6 100644 (file)
@@ -1,15 +1,16 @@
-'// this used to take ages\n' Comment.Single
+'// this used to take ages' Comment.Single
+'\n'          Text.Whitespace
 
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'foo'         Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'xxxxxxxxxxxxxxxxxxxxxx' Name
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 11ae51ae898f974502bed4d5e0c56f38f61e2475..66b3051377fae21c14ab6165d6bea92ebd9ec358 100644 (file)
@@ -1,97 +1,97 @@
 'class'       Keyword.Declaration
 ' '           Text
 '_PostUnico$deClassá' Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'fo$o'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'PostUnicodeFunctioná' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'láb$el'      Name
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'break'       Keyword
-' '           Text
+' '           Text.Whitespace
 'láb$el'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
-'\n'          Text
+'  '          Text.Whitespace
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword.Declaration
 ' '           Text
 'áPreUnicode$Class' Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword.Declaration
-'\u2008'      Text
+'\u2008'      Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '$foo'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'á$foo'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '_PostUnico$deClassá' Name
-' '           Text
+' '           Text.Whitespace
 'áPreUnicodeFunction' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index f1579dd4294f11f510f677bbcd305c5d3079ccfb..013429228bc8278fed9599fdea1e132190066651 100644 (file)
 '/*\n * Created on 13-Mar-2004\n * Created by James Yeh\n * Copyright (C) 2004, 2005, 2006 Aelitis, All Rights Reserved.\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License\n * as published by the Free Software Foundation; either version 2\n * of the License, or (at your option) any later version.\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 * 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, Boston, MA  02111-1307, USA.\n * \n * AELITIS, SAS au capital de 46,603.30 euros\n * 8 Allee Lenotre, La Grille Royale, 78600 Le Mesnil le Roi, France.\n *\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'package'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.platform.macosx' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.core3.logging.*' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.core3.util.AEMonitor' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.core3.util.Debug' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.core3.util.SystemProperties' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.platform.PlatformManager' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.platform.PlatformManagerCapabilities' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.platform.PlatformManagerListener' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.platform.macosx.access.jnilib.OSXAccess' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.gudy.azureus2.plugins.platform.PlatformManagerException' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'java.io.BufferedReader' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'java.io.File' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'java.io.IOException' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'java.io.InputStreamReader' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'java.text.MessageFormat' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'java.util.HashSet' Name.Namespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/**\n * Performs platform-specific operations with Mac OS X\n *\n * @author James Yeh\n * @version 1.0 Initial Version\n * @see PlatformManager\n */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword.Declaration
 ' '           Text
 'PlatformManagerImpl' Name.Class
-' '           Text
+' '           Text.Whitespace
 'implements'  Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManager' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'final'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'LogIDs'      Name
-' '           Text
+' '           Text.Whitespace
 'LOGID'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'LogIDs'      Name
 '.'           Punctuation
 'CORE'        Name.Attribute
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerImpl' Name
-' '           Text
+' '           Text.Whitespace
 'singleton'   Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'AEMonitor'   Name
-' '           Text
+' '           Text.Whitespace
 'class_mon'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'AEMonitor'   Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'final'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'USERDATA_PATH' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'File'        Name
 '('           Punctuation
 'System'      Name
 'user.home'   Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/Library/Application Support/' Literal.String
 '"'           Literal.String
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
-'//T: PlatformManagerCapabilities\n' Comment.Single
+'    '        Text.Whitespace
+'//T: PlatformManagerCapabilities' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'final'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'HashSet'     Name
-' '           Text
+' '           Text.Whitespace
 'capabilitySet' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'HashSet'     Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * Gets the platform manager singleton, which was already initialized\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerImpl' Name
-' '           Text
+' '           Text.Whitespace
 'getSingleton' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'singleton'   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     * Tries to enable cocoa-java access and instantiates the singleton\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'static'      Keyword.Declaration
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'initializeSingleton' 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     * Instantiates the singleton\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'initializeSingleton' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'class_mon'   Name
 '.'           Punctuation
 'enter'       Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'singleton'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerImpl' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Throwable'   Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t'  Text
+'        \t'  Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '('           Punctuation
 'LOGID'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Failed to initialize platform manager' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' for Mac OS X' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'finally'     Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'class_mon'   Name
 '.'           Punctuation
 'exit'        Name.Attribute
 '('           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
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * Creates a new PlatformManager and initializes its capabilities\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerImpl' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'add'         Name.Attribute
 'RecoverableFileDelete' Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'add'         Name.Attribute
 'ShowFileInBrowser' Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'add'         Name.Attribute
 'ShowPathInCommandLine' Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'add'         Name.Attribute
 'CreateCommandLineProcess' Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'add'         Name.Attribute
 'GetUserDataDirectory' Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'add'         Name.Attribute
 'UseNativeScripting' Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'add'         Name.Attribute
 'PlaySystemAlert' Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
-'\n'          Text
+'        '    Text.Whitespace
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'OSXAccess'   Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t        '  Text
+'\t        '  Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'add'         Name.Attribute
 'GetVersion'  Name.Attribute
 ')'           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
 '/**\n     * {@inheritDoc}\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'getPlatformType' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'PT_MACOSX'   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     * {@inheritDoc}\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'getVersion'  Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    \t'      Text
+'    \t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'OSXAccess'   Name
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' 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
-'\n'          Text
+'    \t'      Text.Whitespace
+'\n'          Text.Whitespace
 
-'    \t'      Text
+'    \t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'OSXAccess'   Name
 '.'           Punctuation
 'getVersion'  Name.Attribute
 '('           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     * {@inheritDoc}\n     * @see org.gudy.azureus2.core3.util.SystemProperties#getUserPath()\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'getUserDataDirectory' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'USERDATA_PATH' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'File'        Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'getLocation' Name.Function
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'long'        Keyword.Type
-'\t'          Text
+'\t'          Text.Whitespace
 'location_id' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'location_id' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'LOC_USER_DATA' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
-'\n'          Text
+'\t\t\t'      Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'return'      Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'File'        Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'USERDATA_PATH' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
-'\n'          Text
+'\t\t'        Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * Not implemented; returns True\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'isApplicationRegistered' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
-'\n'          Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'getApplicationCommandLine' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'try'         Keyword
 '{'           Punctuation
-'\t    '      Text
-'\n'          Text
+'\t    '      Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'String'      Name
-'\t'          Text
+'\t'          Text.Whitespace
 'bundle_path' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'System'      Name
 '.'           Punctuation
 'getProperty' Name.Attribute
 'user.dir'    Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 'SystemProperties' Name
 '.'           Punctuation
 'SEP'         Name.Attribute
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'SystemProperties' Name
 '.'           Punctuation
 'getApplicationName' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '.app'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'osx_app_bundle' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'File'        Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bundle_path' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 '.'           Punctuation
 'getAbsoluteFile' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
-'\n'          Text
+'\t\t\t'      Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'osx_app_bundle' Name
 '.'           Punctuation
 'exists'      Name.Attribute
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'msg'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'OSX app bundle not found: [' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 'osx_app_bundle' Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ']'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'System'      Name
 '.'           Punctuation
 'out'         Name.Attribute
 '.'           Punctuation
 'println'     Name.Attribute
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'msg'         Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Logger'      Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '('           Punctuation
 'LOGID'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'msg'         Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\t\t'        Text
-'\n'          Text
+'\t\t'        Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'msg'         Name
-' '           Text
+' '           Text.Whitespace
 ')'           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
-'\n'          Text
+'\t\t\t'      Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'open -a '    Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 'osx_app_bundle' Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\"'         Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
-'//return osx_app_bundle.toString() +"/Contents/MacOS/JavaApplicationStub";\n' Comment.Single
+'\t\t\t'      Text.Whitespace
+'//return osx_app_bundle.toString() +"/Contents/MacOS/JavaApplicationStub";' Comment.Single
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
-'\n'          Text
+'\t\t\t'      Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'catch'       Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Throwable'   Name
-' '           Text
+' '           Text.Whitespace
 't'           Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 '{'           Punctuation
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 't'           Name
 '.'           Punctuation
 'printStackTrace' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ';'           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
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'isAdditionalFileTypeRegistered' Name.Function
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'name'        Name
 ','           Punctuation
-'\t\t\t\t'    Text
-'// e.g. "BitTorrent"\n' Comment.Single
+'\t\t\t\t'    Text.Whitespace
+'// e.g. "BitTorrent"' Comment.Single
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\t\t\t\t'    Text
-'// e.g. ".torrent"\n' Comment.Single
+'\t\t\t\t'    Text.Whitespace
+'// e.g. ".torrent"' Comment.Single
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' 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
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'unregisterAdditionalFileType' Name.Function
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'name'        Name
 ','           Punctuation
-'\t\t\t\t'    Text
-'// e.g. "BitTorrent"\n' Comment.Single
+'\t\t\t\t'    Text.Whitespace
+'// e.g. "BitTorrent"' Comment.Single
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'type'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\t\t\t\t'    Text
-'// e.g. ".torrent"\n' Comment.Single
+'\t\t\t\t'    Text.Whitespace
+'// e.g. ".torrent"' Comment.Single
+'\n'          Text.Whitespace
 
-'\t\t'        Text
-'\n'          Text
+'\t\t'        Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' 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
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'registerAdditionalFileType' Name.Function
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'name'        Name
 ','           Punctuation
-'\t\t\t\t'    Text
-'// e.g. "BitTorrent"\n' Comment.Single
+'\t\t\t\t'    Text.Whitespace
+'// e.g. "BitTorrent"' Comment.Single
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'description' Name
 ','           Punctuation
-'\t\t'        Text
-'// e.g. "BitTorrent File"\n' Comment.Single
+'\t\t'        Text.Whitespace
+'// e.g. "BitTorrent File"' Comment.Single
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'type'        Name
 ','           Punctuation
-'\t\t\t\t'    Text
-'// e.g. ".torrent"\n' Comment.Single
+'\t\t\t\t'    Text.Whitespace
+'// e.g. ".torrent"' Comment.Single
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'content_type' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\t\t'        Text
-'// e.g. "application/x-bittorrent"\n' Comment.Single
+'\t\t'        Text.Whitespace
+'// e.g. "application/x-bittorrent"' Comment.Single
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t   '       Text
+'\t   '       Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' 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
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * Not implemented; does nothing\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'registerApplication' Name.Function
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
-'// handled by LaunchServices and/0r user interaction\n' Comment.Single
+'        '    Text.Whitespace
+'// handled by LaunchServices and/0r user interaction' Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * {@inheritDoc}\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'createProcess' Name.Function
 '('           Punctuation
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'cmd'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'inheritsHandles' Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'performRuntimeExec' Name
 '('           Punctuation
 'cmd'         Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Throwable'   Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
 '('           Punctuation
 '"'           Literal.String
 'Failed to create process' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           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
 '/**\n     * {@inheritDoc}\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'performRecoverableFileDelete' Name.Function
 '('           Punctuation
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'path'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'file'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'File'        Name
 '('           Punctuation
 'path'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t        \t' Text
+'\t        \t' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Logger'      Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t' Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '('           Punctuation
 'LOGID'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '.'           Punctuation
 'LT_WARNING'  Name.Attribute
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Cannot find ' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t\t\t\t' Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'file'        Name
 '.'           Punctuation
 'getName'     Name.Attribute
 ')'           Punctuation
 ')'           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
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'useOSA'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'NativeInvocationBridge' Name
 '.'           Punctuation
 'isEnabled'   Name.Attribute
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'NativeInvocationBridge' Name
 '.'           Punctuation
 'file'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'useOSA'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'StringBuffer' Name
-' '           Text
+' '           Text.Whitespace
 'sb'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'StringBuffer' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 'path'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'performOSAScript' Name
 '('           Punctuation
 'sb'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Throwable'   Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
 '('           Punctuation
 '"'           Literal.String
 'Failed to move file' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           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
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * {@inheritDoc}\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'hasCapability' Name.Function
 '('           Punctuation
 'PlatformManagerCapabilities' Name
-' '           Text
+' '           Text.Whitespace
 'capability'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'capabilitySet' Name
 '.'           Punctuation
 'contains'    Name.Attribute
 'capability'  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     * {@inheritDoc}\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'dispose'     Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'NativeInvocationBridge' Name
 '.'           Punctuation
 'sharedInstance' Name.Attribute
 '('           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     * {@inheritDoc}\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'setTCPTOSEnabled' Name.Function
 '('           Punctuation
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'enabled'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'copyFilePermissions' Name.Function
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t'          Text
+'\t'          Text.Whitespace
 'from_file_name' Name
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t'          Text
+'\t'          Text.Whitespace
 'to_file_name' Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\t\t'        Text
-'\n'          Text
+'\t\t'        Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * {@inheritDoc}\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'showFile'    Name.Function
 '('           Punctuation
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'path'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'file'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'File'        Name
 '('           Punctuation
 'path'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t'  Text
+'        \t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Logger'      Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t\t' Text
+'        \t\t' Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '('           Punctuation
 'LOGID'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '.'           Punctuation
 'LT_WARNING'  Name.Attribute
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Cannot find ' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t\t\t\t' Text
+'        \t\t\t\t' Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'file'        Name
 '.'           Punctuation
 'getName'     Name.Attribute
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'showInFinder' Name
 '('           Punctuation
 'file'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
-'// Public utility methods not shared across the interface\n' Comment.Single
+'    '        Text.Whitespace
+'// Public utility methods not shared across the interface' Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * Plays the system alert (the jingle is specified by the user in System Preferences)\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'playSystemAlert' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'performRuntimeExec' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '['           Operator
 ']'           Operator
 '}'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'IOException' Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t'  Text
+'        \t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Logger'      Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t\t' Text
+'        \t\t' Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '('           Punctuation
 'LOGID'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '.'           Punctuation
 'LT_WARNING'  Name.Attribute
 ','           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 '"'           Literal.String
 'Cannot play system alert' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t'  Text
+'        \t'  Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '('           Punctuation
 'LOGID'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           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
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * <p>Shows the given file or directory in Finder</p>\n     * @param path Absolute path to the file or directory\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'showInFinder' Name.Function
 '('           Punctuation
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'path'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'useOSA'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'NativeInvocationBridge' Name
 '.'           Punctuation
 'isEnabled'   Name.Attribute
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'NativeInvocationBridge' Name
 '.'           Punctuation
 'path'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'useOSA'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'StringBuffer' Name
-' '           Text
+' '           Text.Whitespace
 'sb'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'StringBuffer' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 'path'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'performOSAScript' Name
 '('           Punctuation
 'sb'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'IOException' Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogAlert'    Name
 '('           Punctuation
 'LogAlert'    Name
 '.'           Punctuation
 'UNREPEATABLE' Name.Attribute
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LogAlert'    Name
 '.'           Punctuation
 'AT_ERROR'    Name.Attribute
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 '.'           Punctuation
 'getMessage'  Name.Attribute
 '('           Punctuation
 ')'           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
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * <p>Shows the given file or directory in Terminal by executing cd /absolute/path/to</p>\n     * @param path Absolute path to the file or directory\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'showInTerminal' Name.Function
 '('           Punctuation
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'path'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'showInTerminal' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'File'        Name
 '('           Punctuation
 'path'        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     * <p>Shows the given file or directory in Terminal by executing cd /absolute/path/to</p>\n     * @param path Absolute path to the file or directory\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'showInTerminal' Name.Function
 '('           Punctuation
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'path'        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
 'path'        Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'path'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'path'        Name
 '.'           Punctuation
 'getParentFile' Name.Attribute
 '('           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
 'path'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'path'        Name
 '.'           Punctuation
 'isDirectory' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'StringBuffer' Name
-' '           Text
+' '           Text.Whitespace
 'sb'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'StringBuffer' Name
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 ' '           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\\\'        Literal.String
 ' '           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'sb'          Name
 '.'           Punctuation
 'append'      Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'performOSAScript' Name
 '('           Punctuation
 'sb'          Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'IOException' Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogAlert'    Name
 '('           Punctuation
 'LogAlert'    Name
 '.'           Punctuation
 'UNREPEATABLE' Name.Attribute
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LogAlert'    Name
 '.'           Punctuation
 'AT_ERROR'    Name.Attribute
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t\t' Text
+'\t\t\t\t\t\t' Text.Whitespace
 '.'           Punctuation
 'getMessage'  Name.Attribute
 '('           Punctuation
 ')'           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
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t'  Text
+'        \t'  Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Logger'      Name
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t\t' Text
+'        \t\t' Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '('           Punctuation
 'LOGID'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '.'           Punctuation
 'LT_WARNING'  Name.Attribute
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Cannot find ' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        \t\t\t\t' Text
+'        \t\t\t\t' Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'path'        Name
 '.'           Punctuation
 'getName'     Name.Attribute
 ')'           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
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
-'// Internal utility methods\n' Comment.Single
+'    '        Text.Whitespace
+'// Internal utility methods' Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '/**\n     * Compiles a new AppleScript instance and runs it\n     * @param cmd AppleScript command to execute; do not surround command with extra quotation marks\n     * @return Output of the script\n     * @throws IOException If the script failed to execute\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'performOSAScript' Name.Function
 '('           Punctuation
 'CharSequence' Name
-' '           Text
+' '           Text.Whitespace
 'cmd'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'IOException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'performOSAScript' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'CharSequence' 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     * Compiles a new AppleScript instance and runs it\n     * @param cmds AppleScript Sequence of commands to execute; do not surround command with extra quotation marks\n     * @return Output of the script\n     * @throws IOException If the script failed to execute\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'performOSAScript' Name.Function
 '('           Punctuation
 'CharSequence' Name
 '['           Operator
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmds'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'IOException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'start'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'System'      Name
 '.'           Punctuation
 'currentTimeMillis' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           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
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmds'        Name
 '.'           Punctuation
 'length'      Name.Attribute
 ';'           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
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '\\'          Literal.String
 't'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmds'        Name
 '['           Operator
 'i'           Name
 ']'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'String'      Name
 '['           Operator
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmdargs'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '['           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmds'        Name
 '.'           Punctuation
 'length'      Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'cmdargs'     Name
 '['           Operator
 '0'           Literal.Number.Integer
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'osascript'   Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '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
 'cmds'        Name
 '.'           Punctuation
 'length'      Name.Attribute
 ';'           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
 'cmdargs'     Name
 '['           Operator
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '-e'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'cmdargs'     Name
 '['           Operator
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '.'           Punctuation
 'valueOf'     Name.Attribute
 ']'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Process'     Name
-' '           Text
+' '           Text.Whitespace
 'osaProcess'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'performRuntimeExec' Name
 '('           Punctuation
 'cmdargs'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'BufferedReader' Name
-' '           Text
+' '           Text.Whitespace
 'reader'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'BufferedReader' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'InputStreamReader' Name
 '('           Punctuation
 'osaProcess'  Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'line'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'readLine'    Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'close'       Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 'OSAScript Output: ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'reader'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'BufferedReader' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'InputStreamReader' Name
 '('           Punctuation
 'osaProcess'  Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'errorMsg'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'readLine'    Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'close'       Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 'OSAScript Error (if any): ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'errorMsg'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 'OSAScript execution ended ({0}ms)' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Object'      Name
 '['           Operator
 ']'           Operator
 'currentTimeMillis' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'start'       Name
 ')'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'errorMsg'    Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'IOException' Name
 '('           Punctuation
 'errorMsg'    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
 '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
 '/**\n     * Compiles a new AppleScript instance and runs it\n     * @param script AppleScript file (.scpt) to execute\n     * @return Output of the script\n     * @throws IOException If the script failed to execute\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'performOSAScript' Name.Function
 '('           Punctuation
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'script'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'IOException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'start'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'System'      Name
 '.'           Punctuation
 'currentTimeMillis' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 'Executing OSAScript from file: ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'script'      Name
 '.'           Punctuation
 'getPath'     Name.Attribute
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Process'     Name
-' '           Text
+' '           Text.Whitespace
 'osaProcess'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'performRuntimeExec' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '['           Operator
 ']'           Operator
 'osascript'   Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'script'      Name
 '.'           Punctuation
 'getPath'     Name.Attribute
 '}'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'BufferedReader' Name
-' '           Text
+' '           Text.Whitespace
 'reader'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'BufferedReader' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'InputStreamReader' Name
 '('           Punctuation
 'osaProcess'  Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'line'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'readLine'    Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'close'       Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 'OSAScript Output: ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'reader'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'BufferedReader' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'InputStreamReader' Name
 '('           Punctuation
 'osaProcess'  Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'errorMsg'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'readLine'    Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'close'       Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 'OSAScript Error (if any): ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'errorMsg'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 'OSAScript execution ended ({0}ms)' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Object'      Name
 '['           Operator
 ']'           Operator
 'currentTimeMillis' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'start'       Name
 ')'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'errorMsg'    Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'IOException' Name
 '('           Punctuation
 'errorMsg'    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
 '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
 '/**\n     * Compiles a new AppleScript instance to the specified location\n     * @param cmd         Command to compile; do not surround command with extra quotation marks\n     * @param destination Destination location of the AppleScript file\n     * @return True if compiled successfully\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'compileOSAScript' Name.Function
 '('           Punctuation
 'CharSequence' Name
-' '           Text
+' '           Text.Whitespace
 'cmd'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'destination' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'compileOSAScript' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'CharSequence' Name
 '['           Operator
 ']'           Operator
 'cmd'         Name
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'destination' 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     * Compiles a new AppleScript instance to the specified location\n     * @param cmds Sequence of commands to compile; do not surround command with extra quotation marks\n     * @param destination Destination location of the AppleScript file\n     * @return True if compiled successfully\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'compileOSAScript' Name.Function
 '('           Punctuation
 'CharSequence' Name
 '['           Operator
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmds'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'File'        Name
-' '           Text
+' '           Text.Whitespace
 'destination' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'long'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'start'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'System'      Name
 '.'           Punctuation
 'currentTimeMillis' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 'Compiling OSAScript: ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'destination' Name
 '.'           Punctuation
 'getPath'     Name.Attribute
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '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
 'cmds'        Name
 '.'           Punctuation
 'length'      Name.Attribute
 ';'           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
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '\\'          Literal.String
 't'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmds'        Name
 '['           Operator
 'i'           Name
 ']'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'String'      Name
 '['           Operator
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmdargs'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '['           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmds'        Name
 '.'           Punctuation
 'length'      Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ']'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'cmdargs'     Name
 '['           Operator
 '0'           Literal.Number.Integer
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'osacompile'  Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '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
 'cmds'        Name
 '.'           Punctuation
 'length'      Name.Attribute
 ';'           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
 'cmdargs'     Name
 '['           Operator
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '-e'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'cmdargs'     Name
 '['           Operator
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'String'      Name
 '.'           Punctuation
 'valueOf'     Name.Attribute
 ']'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'cmdargs'     Name
 '['           Operator
 'cmdargs'     Name
 '.'           Punctuation
 'length'      Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '-o'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'cmdargs'     Name
 '['           Operator
 'cmdargs'     Name
 '.'           Punctuation
 'length'      Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'destination' Name
 '.'           Punctuation
 'getPath'     Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'errorMsg'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'Process'     Name
-' '           Text
+' '           Text.Whitespace
 'osaProcess'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'performRuntimeExec' Name
 '('           Punctuation
 'cmdargs'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'BufferedReader' Name
-' '           Text
+' '           Text.Whitespace
 'reader'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'BufferedReader' Name
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'InputStreamReader' Name
 '('           Punctuation
 'osaProcess'  Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'errorMsg'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'readLine'    Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'reader'      Name
 '.'           Punctuation
 'close'       Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'IOException' Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 'OSACompile Execution Failed: ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '.'           Punctuation
 'getMessage'  Name.Attribute
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'printStackTrace' Name.Attribute
 'e'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 'OSACompile Error (if any): ' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'errorMsg'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 'OSACompile execution ended ({0}ms)' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Object'      Name
 '['           Operator
 ']'           Operator
 'currentTimeMillis' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'start'       Name
 ')'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'errorMsg'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ')'           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     * @see Runtime#exec(String[])\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'protected'   Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Process'     Name
-' '           Text
+' '           Text.Whitespace
 'performRuntimeExec' Name.Function
 '('           Punctuation
 'String'      Name
 '['           Operator
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmdargs'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'IOException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Runtime'     Name
 '.'           Punctuation
 'getRuntime'  Name.Attribute
 'cmdargs'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'IOException' Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogAlert'    Name
 '('           Punctuation
 'LogAlert'    Name
 '.'           Punctuation
 'UNREPEATABLE' Name.Attribute
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '.'           Punctuation
 'getMessage'  Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'e'           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
 '/**\n     * <p>Gets the preferred file browser name</p>\n     * <p>Currently supported browsers are Path Finder and Finder. If Path Finder is currently running\n     * (not just installed), then "Path Finder is returned; else, "Finder" is returned.</p>\n     * @return "Path Finder" if it is currently running; else "Finder"\n     */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'getFileBrowserName' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'try'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
-'// slowwwwwwww\n' Comment.Single
+'            ' Text.Whitespace
+'// slowwwwwwww' Comment.Single
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '"'           Literal.String
 'true'        Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'outNoStack'  Name.Attribute
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Path Finder' Literal.String
 '"'           Literal.String
 ';'           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
 '"'           Literal.String
 'Finder'      Literal.String
 '"'           Literal.String
 ';'           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
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'IOException' Name
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'Debug'       Name
 '.'           Punctuation
 'printStackTrace' Name.Attribute
 'e'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'Logger'      Name
 '.'           Punctuation
 'log'         Name.Attribute
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'LogEvent'    Name
 '('           Punctuation
 'LOGID'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '.'           Punctuation
 'getMessage'  Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Finder'      Literal.String
 '"'           Literal.String
 ';'           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
-'\n'          Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'boolean'     Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'testNativeAvailability' Name.Function
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'String'      Name
-'\t'          Text
+'\t'          Text.Whitespace
 'name'        Name
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'throws'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t    '      Text
+'\t    '      Text.Whitespace
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'PlatformManagerException' Name
 '('           Punctuation
 '"'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\t\t'        Text
-'\n'          Text
+'\t\t'        Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
-'\n'          Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'addListener' Name.Function
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    \t'      Text
+'    \t'      Text.Whitespace
 'PlatformManagerListener' Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'listener'    Name
-' '           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
-'\n'          Text
+'    '        Text.Whitespace
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'removeListener' Name.Function
 '('           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    \t'      Text
+'    \t'      Text.Whitespace
 'PlatformManagerListener' Name
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'listener'    Name
-' '           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 7f0cef4b2b595e82c9e7d4910a76951ae587bd8e..06ca37182ec3e921c3616213586485d2eb330b70 100644 (file)
@@ -1,9 +1,9 @@
 'window'      Name.Builtin
 '.'           Punctuation
 'foo'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '\n'          Text
 
 ')'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 "'key'"       Literal.String.Single
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 "'value'"     Literal.String.Single
 '\n'          Text
 
index 54fd6a723726d3fc773fc4e040b9a3487a4aff15..9cc7e0ee1c510efb1c3ab1a275c218ab88d3205e 100644 (file)
@@ -1,3 +1,3 @@
 ''            Text
 '/* There is a BOM at the beginning of this file. */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
index 81c9f9dc6892ac94e9c3c2f2cc2dfb5e5f9eaaf9..6590b08e226664b7a8929562a7b434ecf38a585a 100644 (file)
@@ -5,33 +5,35 @@
 '('           Punctuation
 'foo'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '/regexp/'    Literal.String.Regex
 ','           Punctuation
 '/regexp/'    Literal.String.Regex
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/regexp/'    Literal.String.Regex
 ','           Punctuation
-' '           Text
-'// comment\n' Comment.Single
+' '           Text.Whitespace
+'// comment'  Comment.Single
+'\n'          Text.Whitespace
 
-'// comment\n' Comment.Single
+'// comment'  Comment.Single
+'\n'          Text.Whitespace
 
 '/regexp/'    Literal.String.Regex
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
@@ -40,7 +42,7 @@
 'string'      Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
 '/regexp/'    Literal.String.Regex
 ';'           Punctuation
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '/regexp/'    Literal.String.Regex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '/regexp/'    Literal.String.Regex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0'           Literal.Number.Float
 '<'           Operator
@@ -80,9 +82,9 @@
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
 '>'           Operator
 '/regexp/'    Literal.String.Regex
 'string'      Name.Other
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name.Other
 ':'           Operator
 '/regexp/'    Literal.String.Regex
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '/regexp/'    Literal.String.Regex
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'foo'         Name.Other
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
 'test'        Name.Other
 'string'      Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 '/regexp/'    Literal.String.Regex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'foobar'      Name.Other
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'u'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
 'exec'        Name.Other
 'string'      Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'u'           Name.Other
 '?'           Operator
 '/regexp/'    Literal.String.Regex
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
 'string'      Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'u'           Name.Other
 '^'           Operator
 '/regexp/'    Literal.String.Regex
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '/regexp/'    Literal.String.Regex
 '.'           Punctuation
 '('           Punctuation
 'string'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '~'           Operator
 '/regexp/'    Literal.String.Regex
 'string'      Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '/regexp/'    Literal.String.Regex
-' '           Text
+' '           Text.Whitespace
 '/* a comment */' Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '/[reg/exp]/' Literal.String.Regex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Float
 '/'           Operator
 '2'           Literal.Number.Float
 '/'           Operator
 'i'           Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
 '/* this is a comment */' Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Other
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'/// a comment //\n' Comment.Single
+'/// a comment //' Comment.Single
+'\n'          Text.Whitespace
 
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '/regex/'     Literal.String.Regex
 '/'           Operator
 '2'           Literal.Number.Float
 '/'           Operator
 '1'           Literal.Number.Float
 ';'           Punctuation
-' '           Text
-'//syntactically correct, returns NaN\n' Comment.Single
-
-'\n\n\n\n'    Text
+' '           Text.Whitespace
+'//syntactically correct, returns NaN' Comment.Single
+'\n\n\n\n\n'  Text.Whitespace
 
 '/* original examples */' Comment.Multiline
-'\n\n'        Text
-
-'// regex\n'  Comment.Single
+'\n\n'        Text.Whitespace
 
-'\n'          Text
+'// regex'    Comment.Single
+'\n\n'        Text.Whitespace
 
 'blah'        Name.Other
 '('           Punctuation
 '/abc/'       Literal.String.Regex
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '/abc/'       Literal.String.Regex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '/abc/'       Literal.String.Regex
 '.'           Punctuation
 'match'       Name.Other
 ';'           Punctuation
-'\n\n'        Text
-
-'// math\n'   Comment.Single
+'\n\n'        Text.Whitespace
 
-'\n'          Text
+'// math'     Comment.Single
+'\n\n'        Text.Whitespace
 
 'blah'        Name.Other
 '('           Punctuation
 '2'           Literal.Number.Float
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'//comment\n' Comment.Single
+' '           Text.Whitespace
+'//comment'   Comment.Single
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
 '/'           Operator
 '1'           Literal.Number.Float
 '/'           Operator
 '.1'          Literal.Number.Float
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'// broken\n' Comment.Single
-
-'\n'          Text
+'// broken'   Comment.Single
+'\n\n'        Text.Whitespace
 
 'x'           Name.Other
 '='           Operator
 '/1/'         Literal.String.Regex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
 '='           Operator
 '/'           Operator
 'g'           Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
 '='           Operator
 '/'           Operator
 'g'           Name.Other
 ';'           Punctuation
-'\n\n'        Text
-
-'// real-world\n' Comment.Single
+'\n\n'        Text.Whitespace
 
-'\n'          Text
+'// real-world' Comment.Single
+'\n\n'        Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
 '/'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// convert to number between 1-0\n' Comment.Single
+' '           Text.Whitespace
+'// convert to number between 1-0' Comment.Single
+'\n'          Text.Whitespace
 
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Math'        Name.Builtin
 '.'           Punctuation
 'round'       Name.Other
 '('           Punctuation
 '('           Punctuation
 'num'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'den'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '100'         Literal.Number.Float
 ')'           Punctuation
 '/'           Operator
 '100'         Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 14531fd116ca2e3758cc19dc7446c9fccdc5b5f7..4b5c98e2d39d8c3b82eb1d41fd5ec8461c64f116 100644 (file)
@@ -1,72 +1,73 @@
 ''            Text
-'// Most examples from https://github.com/rse/es6-features under MIT license\n' Comment.Single
+'// Most examples from https://github.com/rse/es6-features under MIT license' Comment.Single
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PI'          Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3.141593'    Literal.Number.Float
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'callbacks'   Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'odds'        Name.Other
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'evens'       Name.Other
 '.'           Punctuation
 'map'         Name.Other
 '('           Punctuation
 'v'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '=>'          Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'nums'        Name.Other
 '.'           Punctuation
 'forEach'     Name.Other
 '('           Punctuation
 'v'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '=>'          Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'v'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Float
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 'fives'       Name.Other
 '.'           Punctuation
 'push'        Name.Other
 'v'           Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '...'         Punctuation
 'a'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'length'      Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'params'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"hello"'     Literal.String.Double
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'other'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '...'         Punctuation
 'params'      Name.Other
-' '           Text
+' '           Text.Whitespace
 ']'           Punctuation
 ';'           Punctuation
-' '           Text
-'// [ 1, 2, "hello", true, 7 ]\n' Comment.Single
+' '           Text.Whitespace
+'// [ 1, 2, "hello", true, 7 ]' Comment.Single
+'\n'          Text.Whitespace
 
 'f'           Name.Other
 '('           Punctuation
 '1'           Literal.Number.Float
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '...'         Punctuation
 'params'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Float
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"foo"'       Literal.String.Double
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'chars'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
-' '           Text
+' '           Text.Whitespace
 '...'         Punctuation
 'str'         Name.Other
-' '           Text
+' '           Text.Whitespace
 ']'           Punctuation
 ';'           Punctuation
-' '           Text
-'// [ "f", "o", "o" ]\n' Comment.Single
-
-'\n'          Text
+' '           Text.Whitespace
+'// [ "f", "o", "o" ]' Comment.Single
+'\n\n'        Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'customer'    Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"Foo"'       Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'card'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'amount'      Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Float
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'product'     Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"Bar"'       Literal.String.Double
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'unitprice'   Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '42'          Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'message'     Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '`'           Literal.String.Backtick
 'Hello '      Literal.String.Backtick
 '${'          Literal.String.Interpol
 'card'        Name.Other
 '.'           Punctuation
 'amount'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'card'        Name.Other
 '.'           Punctuation
 'unitprice'   Name.Other
 ' bucks?'     Literal.String.Backtick
 '`'           Literal.String.Backtick
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '0b111110111' Literal.Number.Bin
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 '503'         Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0o767'       Literal.Number.Oct
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 '503'         Literal.Number.Float
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'codepoint'   Name.Other
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword
-' '           Text
+' '           Text.Whitespace
 '"𠮷"'         Literal.String.Double
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'console'     Name.Other
 '.'           Punctuation
 'log'         Name.Other
 'codepoint'   Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'function'    Keyword.Declaration
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '*'           Operator
 'function'    Keyword.Declaration
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'yield'       Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Node'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'constructor' Keyword.Reserved
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'super'       Keyword
 '('           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 'constructor' Keyword.Reserved
 '('           Punctuation
 'test'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'super'       Keyword
 '('           Punctuation
 'test'        Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'isFinite'    Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'isNaN'       Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'Promise'     Name.Builtin
 '('           Punctuation
 '...'         Punctuation
 'a'           Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'Proxy'       Name.Builtin
 '('           Punctuation
 '...'         Punctuation
 'a'           Name.Other
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '??='         Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '&&='         Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '??'          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '**='         Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
 '**'          Operator
 '3'           Literal.Number.Float
 '&'           Operator
 '4'           Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '||='         Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'Error'       Name.Exception
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'throw'       Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'TypeError'   Name.Exception
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'Uint8ClampedArray' Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'DataView'    Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'Map'         Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'WeakMap'     Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'Intl'        Name.Builtin
 '.'           Punctuation
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'globalThis'  Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'window'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'global'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'this'        Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index a386eae555bb251542122fb80864f91db679160e..f92863ae170004777dbb709930ecea1a94e78935 100644 (file)
@@ -1,36 +1,34 @@
 ''            Text
-'// regex\n'  Comment.Single
-
-'\n'          Text
+'// regex'    Comment.Single
+'\n\n'        Text.Whitespace
 
 'blah'        Name.Other
 '('           Punctuation
 '/abc/'       Literal.String.Regex
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '/abc/'       Literal.String.Regex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '/abc/'       Literal.String.Regex
 '.'           Punctuation
 'match'       Name.Other
 ';'           Punctuation
-'\n\n'        Text
-
-'// math\n'   Comment.Single
+'\n\n'        Text.Whitespace
 
-'\n'          Text
+'// math'     Comment.Single
+'\n\n'        Text.Whitespace
 
 'blah'        Name.Other
 '('           Punctuation
 '2'           Literal.Number.Float
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'//comment\n' Comment.Single
+' '           Text.Whitespace
+'//comment'   Comment.Single
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
 '/'           Operator
 '1'           Literal.Number.Float
 '/'           Operator
 '.1'          Literal.Number.Float
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'// broken\n' Comment.Single
-
-'\n'          Text
+'// broken'   Comment.Single
+'\n\n'        Text.Whitespace
 
 'x'           Name.Other
 '='           Operator
 '/1/'         Literal.String.Regex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
 '='           Operator
@@ -88,7 +86,7 @@
 '/'           Operator
 'g'           Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'x'           Name.Other
 '='           Operator
 '/'           Operator
 'g'           Name.Other
 ';'           Punctuation
-'\n\n'        Text
-
-'// real-world\n' Comment.Single
+'\n\n'        Text.Whitespace
 
-'\n'          Text
+'// real-world' Comment.Single
+'\n\n'        Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Float
 '/'           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// convert to number between 1-0\n' Comment.Single
+' '           Text.Whitespace
+'// convert to number between 1-0' Comment.Single
+'\n'          Text.Whitespace
 
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Math'        Name.Builtin
 '.'           Punctuation
 'round'       Name.Other
 '('           Punctuation
 '('           Punctuation
 'num'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 'den'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '100'         Literal.Number.Float
 ')'           Punctuation
 '/'           Operator
 '100'         Literal.Number.Float
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 98bb080e2cb235023c65450421523211266e5ae5..6f19ac9ce0a0cf5f476086bee276f80e549340a6 100644 (file)
@@ -1,29 +1,29 @@
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'école'       Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'sinθ'        Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'เมือง'       Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a\\u1234b'   Name.Other
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'var'         Keyword.Declaration
-'\u2008'      Text
+'\u2008'      Text.Whitespace
 'nbsp'        Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 6b2fb00301b8ad76884ef54a5cd802853f40ee77..1d0cdd62e32c3e3564f3be65ea1b21885dd56408 100644 (file)
@@ -1,9 +1,9 @@
 '<!-- This page was loaded on ' Comment.Multiline
 '<%='         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'java'        Name
 '.'           Punctuation
 'util'        Name.Attribute
 'toLocaleString' Name.Attribute
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 ' -->'        Comment.Multiline
 '\n'          Text
 
 '<%='         Keyword
-' '           Text
+' '           Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%>'          Keyword
 '\n'          Text
 
 '<%!'         Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 '\n'          Text
 
 '<%!'         Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 '\n'          Text
 
 '<%!'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Circle'      Name
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Circle'      Name
 '('           Punctuation
 '2.0'         Literal.Number.Float
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 '\n\n'        Text
 
 '<%'          Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'name'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'request'     Name
 '.'           Punctuation
 'name'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%>'          Keyword
 '\n'          Text
 
 '<%@'         Keyword
-' '           Text
+' '           Text.Whitespace
 'include'     Name
-' '           Text
+' '           Text.Whitespace
 'file'        Name
 '='           Operator
 '"'           Literal.String
 'error.html'  Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 '\n'          Text
 
 '<%'          Keyword
-'\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
 'foo'         Name
 '.'           Punctuation
 'setName'     Name.Attribute
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'foo'         Name
 '.'           Punctuation
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'name'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'acura'       Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'      '      Text
+'      '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'name'        Name
 '.'           Punctuation
 'equalsIgnoreCase' Name.Attribute
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'acura'       Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%>'          Keyword
 '\n\n'        Text
index 70010b5196d57ba4c16cc3dd7f90ea40c0c01f88..d7305561a7826ebc9c32fcd8a30783957b7051e1 100644 (file)
@@ -1,73 +1,73 @@
 '# This file is a part of Julia. License is MIT: https://julialang.org/license' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"""'         Literal.String
 '\n    StringIndexError(str, i)\n\nAn error occurred when trying to access `str` at index `i` that is not valid.\n' Literal.String
 
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'struct'      Keyword
 ' '           Text
 'StringIndexError' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'Exception'   Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'string'      Name
 '::'          Operator
 'AbstractString' Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'index'       Name
 '::'          Operator
 'Integer'     Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@noinline'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'string_index_err' Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'AbstractString' Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Integer'     Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'throw'       Name
 '('           Punctuation
 'StringIndexError' Keyword.Type
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Keyword.Type
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Base'        Name
 '.'           Operator
 'showerror'   Name
 '::'          Operator
 'IO'          Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'exc'         Name
 '::'          Operator
 'StringIndexError' Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'exc'         Name
 '.'           Operator
 'string'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'print'       Name
 '('           Punctuation
 'io'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'StringIndexError: ' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'invalid index [' Literal.String
 '$'           Literal.String.Interpol
 ']'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'firstindex'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<='          Operator
-' '           Text
+' '           Text.Whitespace
 'exc'         Name
 '.'           Operator
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '<='          Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'iprev'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'thisind'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'exc'         Name
 '.'           Operator
 'index'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'inext'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nextind'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'iprev'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'inext'       Name
-' '           Text
+' '           Text.Whitespace
 '<='          Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'print'       Name
 '('           Punctuation
 'io'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', valid nearby indices [' Literal.String
 '$iprev'      Literal.String.Interpol
 "'"           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'print'       Name
 '('           Punctuation
 'io'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ', valid nearby index [' Literal.String
 '$iprev'      Literal.String.Interpol
 "'"           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ByteArray'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Union'       Keyword.Type
 '{'           Punctuation
 'Vector'      Keyword.Type
 'Int8'        Keyword.Type
 '}'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@inline'     Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'between'     Name
 '('           Punctuation
 'b'           Name
 '::'          Operator
 'T'           Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'lo'          Name
 '::'          Operator
 'T'           Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'hi'          Name
 '::'          Operator
 'T'           Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'where'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 'T'           Keyword.Type
 '<:'          Operator
 'Integer'     Keyword.Type
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lo'          Name
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-' '           Text
+' '           Text.Whitespace
 'hi'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## constructors and conversions ##' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# String constructor docstring from boot.jl, workaround for #16730' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# and the unavailability of @doc in boot.jl context.' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"""'         Literal.String
 '\n    String(v::AbstractVector{UInt8})\n\nCreate a new `String` object from a byte vector `v` containing UTF-8 encoded\ncharacters. If `v` is `Vector{UInt8}` it will be truncated to zero length and\nfuture modification of `v` cannot affect the contents of the resulting string.\nTo avoid truncation of `Vector{UInt8}` data, use `String(copy(v))`; for other\n`AbstractVector` types, `String(v)` already makes a copy.\n\nWhen possible, the memory of `v` will be used without copying when the `String`\nobject is created. This is guaranteed to be the case for byte vectors returned\nby [`take!`](@ref) on a writable [`IOBuffer`](@ref) and by calls to\n[`read(io, nb)`](@ref). This allows zero-copy conversion of I/O data to strings.\nIn other cases, `Vector{UInt8}` data may be copied, but `v` is truncated anyway\nto guarantee consistent behavior.\n' Literal.String
 
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'String'      Keyword.Type
 '('           Punctuation
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 '('           Punctuation
 'copyto!'     Name
 ')'           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'String'      Keyword.Type
 '('           Punctuation
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ccall'       Keyword
 '('           Punctuation
 ':jl_array_to_string' Literal.String.Symbol
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ref'         Keyword.Type
 '{'           Punctuation
 'String'      Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Any'         Keyword.Type
 ','           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"""'         Literal.String
 '\n    unsafe_string(p::Ptr{UInt8}, [length::Integer])\n\nCopy a string from the address of a C-style (NUL-terminated) string encoded as UTF-8.\n(The pointer can be safely freed afterwards.) If `length` is specified\n(the length of the data in bytes), the string does not have to be NUL-terminated.\n\nThis function is labeled ' Literal.String
 ' because it will crash if `p` is not\na valid memory address to data of the requested length.\n' Literal.String
 
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'unsafe_string' Name
 '('           Punctuation
 'p'           Name
 '}'           Punctuation
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 '::'          Operator
 'Integer'     Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'C_NULL'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'throw'       Name
 '('           Punctuation
 'ArgumentError' Keyword.Type
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ccall'       Keyword
 '('           Punctuation
 ':jl_pchar_to_string' Literal.String.Symbol
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ref'         Keyword.Type
 '{'           Punctuation
 'String'      Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Ptr'         Keyword.Type
 '{'           Punctuation
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Keyword.Type
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'unsafe_string' Name
 '('           Punctuation
 'p'           Name
 '}'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'C_NULL'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'throw'       Name
 '('           Punctuation
 'ArgumentError' Keyword.Type
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ccall'       Keyword
 '('           Punctuation
 ':jl_cstr_to_string' Literal.String.Symbol
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ref'         Keyword.Type
 '{'           Punctuation
 'String'      Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Ptr'         Keyword.Type
 '{'           Punctuation
 ','           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '_string_n'   Name
 '('           Punctuation
 '::'          Operator
 'Integer'     Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ccall'       Keyword
 '('           Punctuation
 ':jl_alloc_string' Literal.String.Symbol
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ref'         Keyword.Type
 '{'           Punctuation
 'String'      Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Csize_t'     Keyword.Type
 ','           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"""'         Literal.String
 '\n    String(s::AbstractString)\n\nConvert a string to a contiguous byte array representation encoded as UTF-8 bytes.\nThis representation is often appropriate for passing strings to C.\n' Literal.String
 
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'String'      Keyword.Type
 '('           Punctuation
 '::'          Operator
 'AbstractString' Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'print_to_string' Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@pure'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 '('           Punctuation
 's'           Name
 '::'          Operator
 'Symbol'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'unsafe_string' Name
 '('           Punctuation
 'unsafe_convert' Name
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'unsafe_wrap' Name
 '('           Punctuation
 '}'           Punctuation
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ccall'       Keyword
 '('           Punctuation
 ':jl_string_to_array' Literal.String.Symbol
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ref'         Keyword.Type
 '{'           Punctuation
 'Vector'      Keyword.Type
 '}'           Punctuation
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Any'         Keyword.Type
 ','           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Vector'      Keyword.Type
 '{'           Punctuation
 'String'      Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'copyto!'     Name
 '('           Punctuation
 'Vector'      Keyword.Type
 '('           Punctuation
 'undef'       Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Vector'      Keyword.Type
 '{'           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Vector'      Keyword.Type
 '{'           Punctuation
 'UInt8'       Keyword.Type
 's'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Array'       Keyword.Type
 '{'           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Vector'      Keyword.Type
 '{'           Punctuation
 'UInt8'       Keyword.Type
 's'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'String'      Keyword.Type
 '('           Punctuation
 'String'      Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name
 '.'           Operator
 's'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## low-level functions ##' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pointer'     Name
 '('           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'unsafe_convert' Name
 '('           Punctuation
 'Ptr'         Keyword.Type
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'pointer'     Name
 '('           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Integer'     Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pointer'     Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'Int'         Keyword.Type
 '('           Punctuation
 'i'           Name
 ')'           Punctuation
 '::'          Operator
 'Int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@pure'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Core'        Name
 '.'           Operator
 'sizeof'      Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'codeunit'    Name
 '('           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt8'       Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@inline'     Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Integer'     Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@boundscheck' Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'checkbounds' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'GC'          Name
 '.'           Operator
 '@preserve'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 'unsafe_load' Name
 '('           Punctuation
 'pointer'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## comparison ##' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '_memcmp'     Name
 '('           Punctuation
 'AbstractString' Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '::'          Operator
 'Union'       Keyword.Type
 'AbstractString' Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ccall'       Keyword
 '('           Punctuation
 ':memcmp'     Literal.String.Symbol
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Cint'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Ptr'         Keyword.Type
 '{'           Punctuation
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ptr'         Keyword.Type
 '{'           Punctuation
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Csize_t'     Keyword.Type
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'Csize_t'     Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'Int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'cmp'         Name
 '('           Punctuation
 'a'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'al'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bl'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Name
 '('           Punctuation
 'a'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Name
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_memcmp'     Name
 '('           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'min'         Name
 '('           Punctuation
 'al'          Name
 'bl'          Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'cmp'         Name
 '('           Punctuation
 'al'          Name
 ','           Punctuation
 'bl'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
 '('           Punctuation
 'a'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'pointer_from_objref' Name
 '('           Punctuation
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'pointer_from_objref' Name
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'al'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Name
 '('           Punctuation
 'a'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'al'          Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Name
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '_memcmp'     Name
 '('           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'al'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'typemin'     Name
 '('           Punctuation
 'String'      Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'typemin'     Name
 '('           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'typemin'     Name
 '('           Punctuation
 'String'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## thisind, nextind ##' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@propagate_inbounds' Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'thisind'     Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_thisind_str' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# s should be String or SubString{String}' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@inline'     Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '_thisind_str' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@boundscheck' Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'between'     Name
 '('           Punctuation
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'throw'       Name
 '('           Punctuation
 'BoundsError' Keyword.Type
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '-'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '-'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'between'     Name
 '('           Punctuation
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0b11000000'  Literal.Number.Bin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0b11110111'  Literal.Number.Bin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '-'           Operator
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '-'           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '-'           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'between'     Name
 '('           Punctuation
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0b11100000'  Literal.Number.Bin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0b11110111'  Literal.Number.Bin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '-'           Operator
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '-'           Operator
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '-'           Operator
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'between'     Name
 '('           Punctuation
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0b11110000'  Literal.Number.Bin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0b11110111'  Literal.Number.Bin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '-'           Operator
 '3'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@propagate_inbounds' Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'nextind'     Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_nextind_str' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# s should be String or SubString{String}' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@inline'     Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 '_nextind_str' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@boundscheck' Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'between'     Name
 '('           Punctuation
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'throw'       Name
 '('           Punctuation
 'BoundsError' Keyword.Type
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'l'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 'l'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0xf8'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-' '           Text
+' '           Text.Whitespace
 'l'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'l'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'i′'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'thisind'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i′'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '@inbounds'   Name.Decorator
 '('           Punctuation
 'nextind'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i′'          Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# first continuation byte' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        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
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '≠'           Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'l'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xe0'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# second continuation byte' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '≠'           Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'l'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xf0'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# third continuation byte' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ifelse'      Name
 '('           Punctuation
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '≠'           Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## checking UTF-8 & ACSII validity ##' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'byte_string_classify' Name
 '('           Punctuation
 '}'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ccall'       Keyword
 '('           Punctuation
 ':u8_isvalid' Literal.String.Symbol
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int32'       Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Ptr'         Keyword.Type
 '{'           Punctuation
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Keyword.Type
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sizeof'      Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# 0: neither valid ASCII nor UTF-8' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# 1: valid ASCII' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# 2: valid UTF-8' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'isvalid'     Name
 '('           Punctuation
 'String'      Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 '::'          Operator
 'Union'       Keyword.Type
 'String'      Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'byte_string_classify' Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '≠'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'isvalid'     Name
 '('           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'isvalid'     Name
 '('           Punctuation
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'is_valid_continuation' Name
 '('           Punctuation
 'c'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## required core functionality ##' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@inline'     Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'iterate'     Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 's'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'nothing'     Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt32'      Keyword.Type
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<<'          Operator
-' '           Text
+' '           Text.Whitespace
 '24'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'between'     Name
 '('           Punctuation
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0xf7'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'reinterpret' Name
 '('           Punctuation
 'Char'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'iterate_continued' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'iterate_continued' Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 '::'          Operator
 'UInt32'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0000000'  Literal.Number.Hex
-' '           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
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# first continuation byte' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        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
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '|='          Operator
-' '           Text
+' '           Text.Whitespace
 'UInt32'      Keyword.Type
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<<'          Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# second continuation byte' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xe0000000'  Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '|='          Operator
-' '           Text
+' '           Text.Whitespace
 'UInt32'      Keyword.Type
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<<'          Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '# third continuation byte' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xf0000000'  Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '|='          Operator
-' '           Text
+' '           Text.Whitespace
 'UInt32'      Keyword.Type
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@label'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'reinterpret' Name
 '('           Punctuation
 'Char'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@propagate_inbounds' Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'getindex'    Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt32'      Keyword.Type
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<<'          Operator
-' '           Text
+' '           Text.Whitespace
 '24'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'between'     Name
 '('           Punctuation
 'b'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0xf7'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'reinterpret' Name
 '('           Punctuation
 'Char'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'getindex_continued' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'getindex_continued' Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 '::'          Operator
 'UInt32'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0000000'  Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '# called from `getindex` which checks bounds' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'isvalid'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'string_index_err' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-'\xa0'        Text
+'\xa0'        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '# cont byte 1' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '|='          Operator
-' '           Text
+' '           Text.Whitespace
 'UInt32'      Keyword.Type
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<<'          Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xe0000000'  Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '# cont byte 2' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '|='          Operator
-' '           Text
+' '           Text.Whitespace
 'UInt32'      Keyword.Type
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<<'          Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xf0000000'  Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '# cont byte 3' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '@goto'       Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '|='          Operator
-' '           Text
+' '           Text.Whitespace
 'UInt32'      Keyword.Type
 '('           Punctuation
 'b'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@label'      Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'ret'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'reinterpret' Name
 '('           Punctuation
 'Char'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'getindex'    Name
 '('           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '::'          Operator
 'UnitRange'   Keyword.Type
 'Integer'     Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name
 '['           Punctuation
 'Int'         Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@inline'     Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'getindex'    Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '::'          Operator
 'UnitRange'   Keyword.Type
 'Int'         Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'isempty'     Name
 '('           Punctuation
 'r'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'first'       Name
 '('           Punctuation
 'r'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'last'        Name
 '('           Punctuation
 'r'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@boundscheck' Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'begin'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'checkbounds' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'isvalid'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'string_index_err' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'isvalid'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'string_index_err' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nextind'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'ss'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_string_n'   Name
 '('           Punctuation
 'n'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'GC'          Name
 '.'           Operator
 '@preserve'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 'ss'          Name
-' '           Text
+' '           Text.Whitespace
 'unsafe_copyto!' Name
 '('           Punctuation
 'pointer'     Name
 'ss'          Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'pointer'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ss'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'length'      Name
 '('           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'length_continued' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@inline'     Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'length'      Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@boundscheck' Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'begin'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
 '+'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'throw'       Name
 '('           Punctuation
 'BoundsError' Keyword.Type
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-'\xa0'        Text
+'\xa0'        Text.Whitespace
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
 '+'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'throw'       Name
 '('           Punctuation
 'BoundsError' Keyword.Type
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'k'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'thisind'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'k'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'length_continued' Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'j'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@inline'     Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'length_continued' Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-'\xa0'        Text
+'\xa0'        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-'\xa0'        Text
+'\xa0'        Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-'\xa0'        Text
+'\xa0'        Text.Whitespace
 '0xf7'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'l'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '# cont byte 1' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '-='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'l'           Name
-' '           Text
+' '           Text.Whitespace
 '≥'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xe0'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-'\xa0'        Text
+'\xa0'        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '# cont byte 2' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '-='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'l'           Name
-' '           Text
+' '           Text.Whitespace
 '≥'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xf0'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'continue'    Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '≤'           Operator
-'\xa0'        Text
+'\xa0'        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '# cont byte 3' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '-='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xc0'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## overload methods for efficiency ##' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'isvalid'     Name
 '('           Punctuation
 '::'          Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '::'          Operator
 'Int'         Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'checkbounds' Name
 '('           Punctuation
 'Bool'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'thisind'     Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'isascii'     Name
 '('           Punctuation
 's'           Name
 '::'          Operator
 'String'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '@inbounds'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Operator
 'ncodeunits'  Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'codeunit'    Name
 '('           Punctuation
 's'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 '0x80'        Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"""'         Literal.String
 "\n    repeat(c::AbstractChar, r::Integer) -> String\n\nRepeat a character `r` times. This can equivalently be accomplished by calling\n[`c^r`](@ref :^(::Union{AbstractString, AbstractChar}, ::Integer)).\n\n# Examples\n```jldoctest\njulia> repeat('A', 3)\n" Literal.String
 '\n```\n'     Literal.String
 
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'repeat'      Name
 '('           Punctuation
 '::'          Operator
 'AbstractChar' Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '::'          Operator
 'Integer'     Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'repeat'      Name
 '('           Punctuation
 'Char'        Keyword.Type
 'c'           Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '# fallback'  Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'repeat'      Name
 '('           Punctuation
 'c'           Name
 '::'          Operator
 'Char'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 '::'          Operator
 'Integer'     Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'r'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'r'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'throw'       Name
 '('           Punctuation
 'ArgumentError' Keyword.Type
 '"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'bswap'       Name
 '('           Punctuation
 'reinterpret' Name
 '('           Punctuation
 'UInt32'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'leading_zeros' Name
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '0xff'        Literal.Number.Hex
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_string_n'   Name
 '('           Punctuation
 'n'           Name
 '*'           Operator
 'r'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'pointer'     Name
 '('           Punctuation
 's'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'GC'          Name
 '.'           Operator
 '@preserve'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'ccall'       Keyword
 '('           Punctuation
 ':memset'     Literal.String.Symbol
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ptr'         Keyword.Type
 '{'           Punctuation
 'Cvoid'       Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Ptr'         Keyword.Type
 '{'           Punctuation
 'UInt8'       Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Cint'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Csize_t'     Keyword.Type
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt8'       Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'r'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'elseif'      Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'p16'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'reinterpret' Name
 '('           Punctuation
 'Ptr'         Keyword.Type
 'UInt16'      Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Operator
 'r'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'unsafe_store!' Name
 '('           Punctuation
 'p16'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt16'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'elseif'      Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'b1'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt8'       Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'b2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt8'       Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'b3'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'u'           Name
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 'UInt8'       Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Operator
 'r'           Name
 '-'           Operator
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'unsafe_store!' Name
 '('           Punctuation
 'p'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b1'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'unsafe_store!' Name
 '('           Punctuation
 'p'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b2'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'unsafe_store!' Name
 '('           Punctuation
 'p'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b3'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'elseif'      Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'p32'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'reinterpret' Name
 '('           Punctuation
 'Ptr'         Keyword.Type
 'UInt32'      Keyword.Type
 '}'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Operator
 'r'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'unsafe_store!' Name
 '('           Punctuation
 'p32'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'u'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
index 08e21fed595128bd53eeb7ec18bfeefd8255bc6e..d62e167a9ebc74b80a1accd3126b96ce606e0ca8 100644 (file)
 ''            Text
 '/* Block comment */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n    Multiline block\n    comment\n*/' Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'// inline comment\n' Comment.Single
+'// inline comment' Comment.Single
+'\n'          Text.Whitespace
 
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'juttleFunction' Name.Other
 '('           Punctuation
 'arg'         Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arg'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arg'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 "'zero'"      Literal.String.Single
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'arg'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"one"'       Literal.String.Double
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '1.1'         Literal.Number.Float
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'reducer'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'juttleReducer' Name.Other
 '('           Punctuation
 'field'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'update'      Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'x'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
 'field'       Name.Other
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'result'      Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Other
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'sub'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'myemit'      Name.Other
 '('           Punctuation
 'limit'       Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'emit'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 'limit'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'limit'       Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'input'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'test'        Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'text'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 'default'     Name.Other
-' '           Text
+' '           Text.Whitespace
 "'input'"     Literal.String.Single
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'object'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'xyz'         Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'name'        Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 "'something'" Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'const'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'array'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':2016-01-01:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':2016-01-01T01:00:00:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':2016-01-01T01:00:00.000:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':2016-01-01T01:00:00.000Z:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':2016-01-01T01:00:00.000-0800:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':2016-01-01T01:00:00.000-08:00:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':00:00:01:'  Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':00:00:00.001:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':now:'       Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':beginning:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':end:'       Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':forever:'   Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':yesterday:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':today:'     Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':tomorrow:'  Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1:'         Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1.1:'       Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1s:'        Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1 second:'  Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1 seconds:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':100ms:'     Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':100 millisecond:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':100 milliseconds:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1d:'        Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1 day:'     Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1 days:'    Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':.2h:'       Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1.2h:'      Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':.2 hour:'   Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1.2 hours:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':.5d:'       Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1.5d:'      Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':.5 day:'    Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1.5 days:'  Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':5m:'        Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':5 minutes:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':10w:'       Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':10 weeks:'  Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':10M:'       Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':10 months:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':100y:'      Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':100 years:' Literal.String.Moment
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':1 year and 2 months and 2 days:' Literal.String.Moment
-'\n'          Text
+'\n'          Text.Whitespace
 
 ']'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'emit'        Keyword.Reserved
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'batch'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 ':10 minutes:' Literal.String.Moment
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'filter'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Other
 '='           Operator
 'true'        Keyword.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'head'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'join'        Keyword.Reserved
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'keep'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Other
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'pace'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 'every'       Name.Other
-' '           Text
+' '           Text.Whitespace
 ':1 minute:'  Literal.String.Moment
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'pass'        Keyword.Reserved
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'put'         Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Other
 '='           Operator
 'false'       Keyword.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'remove'      Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Other
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'sequence'    Keyword.Reserved
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'skip'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'sort'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'field'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 'desc'        Name.Other
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'split'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'field'       Name.Other
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'tail'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'unbatch'     Keyword.Reserved
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'uniq'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'field'       Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'read'        Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'adapter'     Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 'last'        Name.Other
-' '           Text
+' '           Text.Whitespace
 ':day:'       Literal.String.Moment
-' '           Text
+' '           Text.Whitespace
 "'search'"    Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 'AND'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'field'       Name.Other
 '~'           Operator
 '/pattern/'   Literal.String.Regex
-' '           Text
+' '           Text.Whitespace
 'OR'          Name.Other
-' '           Text
+' '           Text.Whitespace
 'field'       Name.Other
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'string'"    Literal.String.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'write'       Keyword.Reserved
-' '           Text
+' '           Text.Whitespace
 'adapter'     Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
index 4a5bc403fc3e22e2f5688cb6c1489a9932c4a5a7..44cb0cbda91f5e1cf7c10f12b191a13620298160 100644 (file)
-'#!/usr/bin/env kal\n' Comment.Single
+'#!/usr/bin/env kal' Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'# This demo executes GET requests in parallel and in series\n' Comment.Single
+'# This demo executes GET requests in parallel and in series' Comment.Single
+'\n'          Text.Whitespace
 
-'# using `for` loops and `wait for` statements.\n' Comment.Single
+'# using `for` loops and `wait for` statements.' Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'# Notice how the serial GET requests always return in order\n' Comment.Single
+'# Notice how the serial GET requests always return in order' Comment.Single
+'\n'          Text.Whitespace
 
-'# and take longer in total. Parallel requests come back in\n' Comment.Single
+'# and take longer in total. Parallel requests come back in' Comment.Single
+'\n'          Text.Whitespace
 
-'# order of receipt.\n' Comment.Single
+'# order of receipt.' Comment.Single
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'http'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'require'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'http'        Literal.String
 "'"           Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'urls'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 "'"           Literal.String
 'http://www.google.com' Literal.String
 "'"           Literal.String
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Literal.String
 'http://www.apple.com' Literal.String
 "'"           Literal.String
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Literal.String
 'http://www.microsoft.com' Literal.String
 "'"           Literal.String
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Literal.String
 'http://www.nodejs.org' Literal.String
 "'"           Literal.String
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Literal.String
 'http://www.yahoo.com' Literal.String
 "'"           Literal.String
 ']'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'# This function does a GET request for each URL in series\n' Comment.Single
+'# This function does a GET request for each URL in series' Comment.Single
+'\n'          Text.Whitespace
 
-'# It will wait for a response from each request before moving on\n' Comment.Single
+'# It will wait for a response from each request before moving on' Comment.Single
+'\n'          Text.Whitespace
 
-'# to the next request. Notice the output will be in the same order as the\n' Comment.Single
+'# to the next request. Notice the output will be in the same order as the' Comment.Single
+'\n'          Text.Whitespace
 
-'# urls variable every time regardless of response time.\n' Comment.Single
+'# urls variable every time regardless of response time.' Comment.Single
+'\n'          Text.Whitespace
 
-'# It is a task rather than a function because it is called asynchronously\n' Comment.Single
+'# It is a task rather than a function because it is called asynchronously' Comment.Single
+'\n'          Text.Whitespace
 
-'# This allows us to use `return` to implicitly call back\n' Comment.Single
+'# This allows us to use `return` to implicitly call back' Comment.Single
+'\n'          Text.Whitespace
 
 'task'        Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'series_demo' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
-'# The `series` keyword is optional here (for loops are serial by default)\n' Comment.Single
+'\n  '        Text.Whitespace
+'# The `series` keyword is optional here (for loops are serial by default)' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'total_time'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\n  '      Text
-'for series'  Keyword
-' '           Text
-'url '        Name.Variable
+'\n\n  '      Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'series'      Keyword
+' '           Text.Whitespace
+'url'         Name.Variable
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
-'urls\n    '  Name.Variable
+' '           Text.Whitespace
+'urls'        Name.Variable
+'\n    '      Text.Whitespace
 'timer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Date'        Name.Builtin
-'\n\n    '    Text
-'# we use the `safe` keyword because get is a "nonstandard" task\n' Comment.Single
-
-'    '        Text
-'# that does not call back with an error argument\n' Comment.Single
-
-'    '        Text
-'safe wait for' Keyword
-' '           Text
-'response '   Name.Variable
+'\n\n    '    Text.Whitespace
+'# we use the `safe` keyword because get is a "nonstandard" task' Comment.Single
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'# that does not call back with an error argument' Comment.Single
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'safe'        Keyword
+' '           Text.Whitespace
+'wait'        Keyword
+' '           Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'response'    Name.Variable
+' '           Text.Whitespace
 'from'        Keyword
-' '           Text
-'http.get '   Name.Variable
-'url\n\n    ' Name.Variable
+' '           Text.Whitespace
+'http.get'    Name.Variable
+' '           Text.Whitespace
+'url'         Name.Variable
+'\n\n    '    Text.Whitespace
 'delay'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Date'        Name.Builtin
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
-'timer\n    ' Name.Variable
+' '           Text.Whitespace
+'timer'       Name.Variable
+'\n    '      Text.Whitespace
 'total_time'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
-'delay\n\n    ' Name.Variable
+' '           Text.Whitespace
+'delay'       Name.Variable
+'\n\n    '    Text.Whitespace
 'print'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'GET '        Literal.String
 '#{'          Literal.String.Interpol
 '}'           Literal.String.Interpol
 ' ms'         Literal.String
 '"'           Literal.String
-'\n'          Punctuation
+'\n'          Text.Whitespace
 
-'\n  '        Text
-'# because we are in a task rather than a function, this actually exectutes a callback\n' Comment.Single
+'\n  '        Text.Whitespace
+'# because we are in a task rather than a function, this actually exectutes a callback' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'total_time'  Name.Variable
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'# This function does a GET request for each URL in parallel\n' Comment.Single
+'# This function does a GET request for each URL in parallel' Comment.Single
+'\n'          Text.Whitespace
 
-'# It will NOT wait for a response from each request before moving on\n' Comment.Single
+'# It will NOT wait for a response from each request before moving on' Comment.Single
+'\n'          Text.Whitespace
 
-'# to the next request. Notice the output will be determined by the order in which\n' Comment.Single
+'# to the next request. Notice the output will be determined by the order in which' Comment.Single
+'\n'          Text.Whitespace
 
-'# the requests complete!\n' Comment.Single
+'# the requests complete!' Comment.Single
+'\n'          Text.Whitespace
 
 'task'        Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'parallel_demo' Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'total_time'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\n  '      Text
-'# The `parallel` keyword is only meaningful here because the loop contains\n' Comment.Single
-
-'  '          Text
-'# a `wait for` statement (meaning callbacks are used)\n' Comment.Single
-
-'  '          Text
-'for parallel' Keyword
-' '           Text
-'url '        Name.Variable
+'\n\n  '      Text.Whitespace
+'# The `parallel` keyword is only meaningful here because the loop contains' Comment.Single
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
+'# a `wait for` statement (meaning callbacks are used)' Comment.Single
+'\n'          Text.Whitespace
+
+'  '          Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'parallel'    Keyword
+' '           Text.Whitespace
+'url'         Name.Variable
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
-'urls\n    '  Name.Variable
+' '           Text.Whitespace
+'urls'        Name.Variable
+'\n    '      Text.Whitespace
 'timer'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Date'        Name.Builtin
-'\n\n    '    Text
-'# we use the `safe` keyword because get is a "nonstandard" task\n' Comment.Single
-
-'    '        Text
-'# that does not call back with an error argument\n' Comment.Single
-
-'    '        Text
-'safe wait for' Keyword
-' '           Text
-'response '   Name.Variable
+'\n\n    '    Text.Whitespace
+'# we use the `safe` keyword because get is a "nonstandard" task' Comment.Single
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'# that does not call back with an error argument' Comment.Single
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'safe'        Keyword
+' '           Text.Whitespace
+'wait'        Keyword
+' '           Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'response'    Name.Variable
+' '           Text.Whitespace
 'from'        Keyword
-' '           Text
-'http.get '   Name.Variable
-'url\n\n    ' Name.Variable
+' '           Text.Whitespace
+'http.get'    Name.Variable
+' '           Text.Whitespace
+'url'         Name.Variable
+'\n\n    '    Text.Whitespace
 'delay'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Date'        Name.Builtin
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
-'timer\n    ' Name.Variable
+' '           Text.Whitespace
+'timer'       Name.Variable
+'\n    '      Text.Whitespace
 'total_time'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
-'delay\n\n    ' Name.Variable
+' '           Text.Whitespace
+'delay'       Name.Variable
+'\n\n    '    Text.Whitespace
 'print'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'GET '        Literal.String
 '#{'          Literal.String.Interpol
 '}'           Literal.String.Interpol
 'ms'          Literal.String
 '"'           Literal.String
-'\n'          Punctuation
+'\n'          Text.Whitespace
 
-'\n  '        Text
-'# because we are in a task rather than a function, this actually exectutes a callback\n' Comment.Single
+'\n  '        Text.Whitespace
+'# because we are in a task rather than a function, this actually exectutes a callback' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 'return'      Keyword
-' '           Text
-'total_time\n\n' Name.Variable
+' '           Text.Whitespace
+'total_time'  Name.Variable
+'\n\n'        Text.Whitespace
 
 'print'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'Series Requests...' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'wait for'    Keyword
-' '           Text
-'time1 '      Name.Variable
+'wait'        Keyword
+' '           Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'time1'       Name.Variable
+' '           Text.Whitespace
 'from'        Keyword
-' '           Text
+' '           Text.Whitespace
 'series_demo' Name.Variable
 '('           Punctuation
 ')'           Punctuation
-'\n'          Punctuation
+'\n'          Text.Whitespace
 
 'print'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Total duration ' Literal.String
 '#{'          Literal.String.Interpol
 '}'           Literal.String.Interpol
 'ms'          Literal.String
 '"'           Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'print'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 "'"           Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'print'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'Parallel Requests...' Literal.String
 "'"           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'wait for'    Keyword
-' '           Text
-'time2 '      Name.Variable
+'wait'        Keyword
+' '           Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'time2'       Name.Variable
+' '           Text.Whitespace
 'from'        Keyword
-' '           Text
+' '           Text.Whitespace
 'parallel_demo' Name.Variable
 '('           Punctuation
 ')'           Punctuation
-'\n'          Punctuation
+'\n'          Text.Whitespace
 
 'print'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'Total duration ' Literal.String
 '#{'          Literal.String.Interpol
 '}'           Literal.String.Interpol
 'ms'          Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
index 0e911d9d43b3024b11b311b62fcc093c8cc61fab..0798964c5dd80e686956a9e88e6df554f7fc5d5b 100644 (file)
 'package'     Keyword
-' '           Text
+' '           Text.Whitespace
 'addressbook' Name.Namespace
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Contact'     Name.Class
 '('           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'emails'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name
 '<'           Operator
 'EmailAddress' Name
 '>'           Operator
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'addresses'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name
 '<'           Operator
 'PostalAddress' Name
 '>'           Operator
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'phonenums'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name
 '<'           Operator
 'PhoneNumber' Name
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'EmailAddress' Name.Class
 '('           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'user'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'host'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PostalAddress' Name.Class
 '('           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'streetAddress' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'city'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'zip'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'state'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'USState?,'   Name
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'country'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Country'     Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'assert'      Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '('           Punctuation
 'state'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'xor'         Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'country'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Countries'   Name
 '['           Operator
 '"'           Literal.String
 '"'           Literal.String
 ']'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'PhoneNumber' Name.Class
 '('           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'country'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Country'     Name
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'areaCode'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Keyword.Type
 ','           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'number'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Long'        Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'object'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Countries'   Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'fun'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'get'         Name.Function
 '('           Punctuation
 'id'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'CountryID'   Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Country'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'countryTable' Name
 '['           Operator
 'id'          Name
 ']'           Operator
-'\n  \n  '    Text
+'\n  \n  '    Text.Whitespace
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'table'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Map'         Name
 '<'           Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Country'     Name
 '>'           Operator
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
-'\n  '        Text
+'\n  '        Text.Whitespace
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'countryTable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Map'         Name
 '<'           Operator
 'String'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Country'     Name
 '>'           Operator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'get'         Keyword
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'table'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'table'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'HashMap'     Name
 '('           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line'        Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 'TextFile'    Name
 '('           Punctuation
 '"'           Literal.String
 'lines'       Name.Attribute
 '('           Punctuation
 'stripWhiteSpace' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 'table'       Name
 '['           Operator
 'line'        Name
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Country'     Name
 '('           Punctuation
 'line'        Name
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '}'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '}'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'table'       Name
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Country'     Name.Class
 '('           Punctuation
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index a7c66736f4106544e2f472b8d086d04d233d9b09..e7a39920f74cb9ce27dcdac20833ff544257cf89 100644 (file)
 '{'           Comment.Multiline
 ' Quine in Kuin. @tatt61880 ' Comment.Multiline
 '}'           Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'func'        Keyword
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Function
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'func'        Keyword
-' '           Text
+' '           Text.Whitespace
 'quine'       Name.Function
 '('           Punctuation
 'str'         Name.Variable
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 'char'        Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'var'         Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'foreach'     Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Other
 '('           Punctuation
 'str'         Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'switch'      Keyword
 '('           Punctuation
 'c'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'\\n'"       Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'do'          Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':~'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '\\\\n\\" ~\\n    | \\"' Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'\\\\'"      Literal.String.Char
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '\'"\''       Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'do'          Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':~'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '\\\\'        Literal.String.Double
 '\\{'         Literal.String.Double
 'c'           Name.Variable
 '}'           Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'default'     Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'                ' Text
+'                ' Text.Whitespace
 'do'          Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':~'          Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Variable
 '.'           Operator
 'toStr'       Name.Variable
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'            ' Text
+'            ' Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'switch'      Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'foreach'     Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'        '    Text
+'        '    Text.Whitespace
 'do'          Keyword
-' '           Text
+' '           Text.Whitespace
 'cui'         Name
 '@'           Name.Other
 'print'       Name.Variable
 '('           Punctuation
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '\\"\\n    do quine(str)\\nend func\\n' Literal.String.Double
 '"'           Literal.String.Double
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'func'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'const'       Keyword
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 'char'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '{ Quine in Kuin. @tatt61880 }\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'func main()\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '    func quine(str: []char)\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '        var s: []char :: \\"\\"\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '        foreach c(str)\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '            switch(c)\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 "            case '\\\\n'\\n" Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '                do s :~ \\"\\\\\\\\n\\\\\\" ~\\\\n    | \\\\\\"\\"\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '            case \'\\\\\\\\\', \'\\"\'\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '                do s :~ \\"\\\\\\\\\\\\{c}\\"\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '            default\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '                do s :~ c.toStr()\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '            end switch\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '        end foreach\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '        do cui@print(str ~ s ~ \\"\\\\\\"\\\\n    do quine(str)\\\\nend func\\\\n\\")\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '    end func\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '    const str: []char :: \\"\\" ~\\n' Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '~'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '|'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '    | \\"'   Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'do'          Keyword
-' '           Text
+' '           Text.Whitespace
 'quine'       Name.Variable
 '('           Punctuation
 'str'         Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'func'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
index 43346714cc951ab6d265ae64ac9c412de02a5236..5595e2b4a301a75d5cb4d9967e17d7de4b1513c9 100644 (file)
 ''            Other
 '<?LassoScript' Comment.Preproc
-'\n\n\t'      Text
-'//\n'        Comment.Single
-
-'\t'          Text
-'// JSON Encoding and Decoding\n' Comment.Single
-
-'\t'          Text
-'//\n'        Comment.Single
-
-'\t'          Text
-'// Copyright 2007-2012 LassoSoft Inc.\n' Comment.Single
-
-'\t'          Text
-'//\n'        Comment.Single
-
-'\t'          Text
-'// <http://json.org/>\n' Comment.Single
-
-'\t'          Text
-'// <http://json-rpc.org/>\n' Comment.Single
-
-'\t'          Text
-'// <http://www.ietf.org/rfc/rfc4627.txt?number=4627>\n' Comment.Single
-
-'\t'          Text
-'//\n'        Comment.Single
-
-'\t\n'        Text
+'\n\n\t'      Text.Whitespace
+'//'          Comment.Single
+'\n\t'        Text.Whitespace
+'// JSON Encoding and Decoding' Comment.Single
+'\n\t'        Text.Whitespace
+'//'          Comment.Single
+'\n\t'        Text.Whitespace
+'// Copyright 2007-2012 LassoSoft Inc.' Comment.Single
+'\n\t'        Text.Whitespace
+'//'          Comment.Single
+'\n\t'        Text.Whitespace
+'// <http://json.org/>' Comment.Single
+'\n\t'        Text.Whitespace
+'// <http://json-rpc.org/>' Comment.Single
+'\n\t'        Text.Whitespace
+'// <http://www.ietf.org/rfc/rfc4627.txt?number=4627>' Comment.Single
+'\n\t'        Text.Whitespace
+'//'          Comment.Single
+'\n\t'        Text.Whitespace
+'\n'          Text.Whitespace
 
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Lasso_TagExists' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Encode_JSON' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ';'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 'Define_Tag'  Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'JSON'        Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Namespace'  Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'Encode_'     Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Required'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'value'       Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Optional'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'options'     Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\n\t\t'  Text
+'\n\t\n\t\t'  Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'escapes'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Map'         Keyword.Type
 '('           Punctuation
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\r'         Literal.String.Escape
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'r'           Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\n'         Literal.String.Escape
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'n'           Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\t'         Literal.String.Escape
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 't'           Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\f'         Literal.String.Escape
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'f'           Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\b'         Literal.String.Escape
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'b'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'newoptions'  Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Array'       Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Internal'   Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '('           Punctuation
 'Local_Defined' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'options'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#options'    Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'array'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'options'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Array'       Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#options'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '-UseNative'  Name.Attribute
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Params'      Keyword
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '-UseNative'  Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#newoptions' Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-UseNative'  Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#options'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '-NoNative'   Name.Attribute
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Params'      Keyword
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '-NoNative'   Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#newoptions' Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-NoNative'   Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#options'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '-UseNative'  Name.Attribute
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'set'         Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'list'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'queue'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'priorityqueue' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'stack'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Array'       Keyword.Type
 '->'          Operator
 '('           Punctuation
 'insertfrom'  Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 'iterator'    Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Options'    Name.Attribute
 '='           Operator
 '#newoptions' Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#options'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '-UseNative'  Name.Attribute
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'pair'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Array'       Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 'First'       Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 'Second'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#options'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '-Internal'   Name.Attribute
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Isa'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'array'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'map'         Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '['           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Options'    Name.Attribute
 '='           Operator
 '#newoptions' Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ']'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'literal'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'string'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Loop'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 'Length'      Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Local'       Keyword.Declaration
 '('           Punctuation
 "'"           Literal.String.Single
 'character'   Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Get'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Loop_Count'  Keyword
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Append'      Name.Other
 ':'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
 'Match_RegExp' Name.Builtin
 '('           Punctuation
 'x{10fff}]'   Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '#character'  Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '#character'  Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-'\n\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t' Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#escapes'    Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Contains'    Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#character'  Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '#escapes'    Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#character'  Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'u'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 '('           Punctuation
 'Encode_Hex'  Name.Builtin
 '('           Punctuation
 '4'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '0'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 '&'           Operator
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'Loop'        Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'integer'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'decimal'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'boolean'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'String'      Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'null'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'null'        Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'date'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 'gmt'         Name.Builtin
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'format'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '%QT%TZ'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Else'        Keyword
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'format'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '%QT%T'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'array'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '['           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Iterate'     Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Options'    Name.Attribute
 '='           Operator
 '#newoptions' Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 'Size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 'Loop_Count'  Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ', '          Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'Iterate'     Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ']'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'object'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '{'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Iterate'     Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 '->'          Operator
 'First'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ': '          Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 '->'          Operator
 'Second'      Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Options'    Name.Attribute
 '='           Operator
 '#newoptions' Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 'Size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 'Loop_Count'  Keyword
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ', '          Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'Iterate'     Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '}'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'map'         Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '{'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Iterate'     Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 '->'          Operator
 'First'       Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Options'    Name.Attribute
 '='           Operator
 '#newoptions' Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ': '          Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 '->'          Operator
 'Second'      Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Options'    Name.Attribute
 '='           Operator
 '#newoptions' Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 'Size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 'Loop_Count'  Keyword
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ', '          Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'Iterate'     Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '}'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'client_ip'   Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'client_address' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'String'      Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Options'    Name.Attribute
 '='           Operator
 '#newoptions' Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#options'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '-UseNative'  Name.Attribute
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'set'         Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'list'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'queue'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'priorityqueue' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'stack'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Array'       Keyword.Type
 '->'          Operator
 '('           Punctuation
 'insertfrom'  Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 'iterator'    Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Options'    Name.Attribute
 '='           Operator
 '#newoptions' Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#options'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '-NoNative'   Name.Attribute
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Map'         Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '__jsonclass__' Literal.String.Single
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 '<LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 '->'          Operator
 'Serialize'   Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '</LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#output'     Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t\n\t'  Text
+'\n\t\t\n\t'  Text.Whitespace
 '/'           Punctuation
 'Define_Tag'  Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Lasso_TagExists' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Decode_JSON' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ';'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 'Define_Tag'  Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'JSON'        Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Namespace'  Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'Decode_'     Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Required'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'value'       Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\n\t\t'    Text
+'\n\n\t\t'    Text.Whitespace
 '('           Punctuation
 '#value'      Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\n\t\t' Text
+'\n\t\t\n\t\t' Text.Whitespace
 'Define_Tag'  Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'consume_string' Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Required'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'ibytes'      Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'unescapes'   Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'map'         Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '34'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '92'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '98'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\b'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '102'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\f'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '110'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\n'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '114'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\r'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '116'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\t'         Literal.String.Escape
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'obytes'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Bytes'       Keyword.Type
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'While'       Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '34'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// \'"\'\n'  Comment.Single
-
-'\t\t\t\t'    Text
+' '           Text.Whitespace
+'// \'"\''    Comment.Single
+'\n\t\t\t\t'  Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 '92'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-"// '\\'\n"   Comment.Single
-
-'\t\t\t\t\t'  Text
+' '           Text.Whitespace
+"// '\\'"     Comment.Single
+'\n\t\t\t\t\t' Text.Whitespace
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 '117'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-"// 'u'\n"    Comment.Single
-
-'\t\t\t\t\t\t' Text
+' '           Text.Whitespace
+"// 'u'"      Comment.Single
+'\n\t\t\t\t\t\t' Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'ImportString' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Decode_Hex'  Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'String'      Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'GetRange'    Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'Position'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 '('           Punctuation
 'ExportString' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'UTF-16'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'UTF-8'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t' Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'SetPosition' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'Position'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 'Else'        Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t' Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#unescapes'  Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Contains'    Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t\t' Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'ImportString' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#unescapes'  Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'UTF-8'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t' Text.Whitespace
 'Else'        Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t\t' Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Import8Bits' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t' Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Import8Bits' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'While'       Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 '('           Punctuation
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'ExportString' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'UTF-8'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'BeginsWith'  Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '<LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'EndsWith'    Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '</LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '<LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '</LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Protect'     Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Deserialize' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '/'           Punctuation
 'Protect'     Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Valid_Date'  Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Format'     Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Date'        Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Format'     Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Valid_Date'  Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Format'     Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Date'        Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Format'     Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\t\t\t\n\t\t\t' Text
+'\t\t\t\n\t\t\t' Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#output'     Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'Define_Tag'  Keyword
 ';'           Punctuation
-'\n\n\t\t'    Text
+'\n\n\t\t'    Text.Whitespace
 'Define_Tag'  Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'consume_token' Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Required'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'ibytes'      Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-required'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'obytes'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'bytes'       Keyword.Type
 '->'          Operator
 '('           Punctuation
 'import8bits' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'delimit'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array'       Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '13'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '58'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '93'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '125'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// \\t\\r\\n ,:]}\n' Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// \\t\\r\\n ,:]}' Comment.Single
+'\n\t\t\t'    Text.Whitespace
 'While'       Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'import8bits' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'While'       Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'String'      Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#obytes'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'true'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '||'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'false'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Boolean'     Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'null'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'String_IsNumeric' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '.'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Decimal'     Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Integer'     Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#output'     Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'Define_Tag'  Keyword
 ';'           Punctuation
-'\n\n\t\t'    Text
+'\n\n\t\t'    Text.Whitespace
 'Define_Tag'  Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'consume_array' Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Required'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'ibytes'      Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'array'       Keyword.Type
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'delimit'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array'       Keyword.Type
 ':'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '9'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '13'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// \\t\\r\\n ,\n' Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// \\t\\r\\n ,' Comment.Single
+'\n\t\t\t'    Text.Whitespace
 'local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'While'       Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '93'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// ]\n'      Comment.Single
-
-'\t\t\t\t'    Text
+' '           Text.Whitespace
+'// ]'        Comment.Single
+'\n\t\t\t\t'  Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
-'// Discard whitespace \n' Comment.Single
-
-'\t\t\t\t'    Text
+'\n\t\t\t\t\t' Text.Whitespace
+'// Discard whitespace' Comment.Single
+' '           Text.Whitespace
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '34'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// "\n'      Comment.Single
-
-'\t\t\t\t\t'  Text
+' '           Text.Whitespace
+'// "'        Comment.Single
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_string' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '91'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// [\n'      Comment.Single
-
-'\t\t\t\t\t'  Text
+' '           Text.Whitespace
+'// ['        Comment.Single
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_array' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// {\n'      Comment.Single
-
-'\t\t\t\t\t'  Text
+' '           Text.Whitespace
+'// {'        Comment.Single
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_object' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_token' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '93'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Loop_Abort'  Keyword
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'While'       Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#output'     Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'Define_Tag'  Keyword
 ';'           Punctuation
-'\n\n\t\t'    Text
+'\n\n\t\t'    Text.Whitespace
 'Define_Tag'  Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'consume_object' Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Required'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'ibytes'      Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'map'         Keyword.Type
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'delimit'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array'       Keyword.Type
 ':'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '9'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '13'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// \\t\\r\\n ,\n' Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// \\t\\r\\n ,' Comment.Single
+'\n\t\t\t'    Text.Whitespace
 'local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'key'         Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'val'         Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'While'       Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '125'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// }\n'      Comment.Single
-
-'\t\t\t\t'    Text
+' '           Text.Whitespace
+'// }'        Comment.Single
+'\n\t\t\t\t'  Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
-'// Discard whitespace \n' Comment.Single
-
-'\t\t\t\t'    Text
+'\n\t\t\t\t\t' Text.Whitespace
+'// Discard whitespace' Comment.Single
+' '           Text.Whitespace
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '34'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// "\n'      Comment.Single
-
-'\t\t\t\t\t'  Text
+' '           Text.Whitespace
+'// "'        Comment.Single
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_string' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '91'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// [\n'      Comment.Single
-
-'\t\t\t\t\t'  Text
+' '           Text.Whitespace
+'// ['        Comment.Single
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_array' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// {\n'      Comment.Single
-
-'\t\t\t\t\t'  Text
+' '           Text.Whitespace
+'// {'        Comment.Single
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_object' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'insert'      Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_token' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '125'         Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Loop_abort'  Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Else'        Keyword
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_string' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n \t\t\t\t    ' Text
+'\n \t\t\t\t    ' Text.Whitespace
 'while'       Keyword
 '('           Punctuation
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '/'           Punctuation
 'while'       Keyword
 ';'           Punctuation
-'\n  \t\t\t\t\t' Text
+'\n  \t\t\t\t\t' Text.Whitespace
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '58'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Loop_Abort'  Keyword
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'While'       Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '__jsonclass__' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '__jsonclass__' Literal.String.Single
 "'"           Literal.String.Single
 '('           Punctuation
 'isa'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'array'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '__jsonclass__' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 '->'          Operator
 'size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '__jsonclass__' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 '->'          Operator
 'First'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'deserialize' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '__jsonclass__' Literal.String.Single
 "'"           Literal.String.Single
 '->'          Operator
 'First'       Name.Builtin
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'native'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'comment'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'comment'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'http://www.lassosoft.com/json' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'native'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#output'     Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'Define_Tag'  Keyword
 ';'           Punctuation
-'\n\t\t\n\t\t' Text
+'\n\t\t\n\t\t' Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'ibytes'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bytes'       Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#value'      Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'start'       Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-'\n \t  \t'   Text
+'\n \t  \t'   Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'removeLeading' Name.Builtin
 'BOM_UTF8'    Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '91'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// [\n'      Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// ['        Comment.Single
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_array' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#output'     Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// {\n'      Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// {'        Comment.Single
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'consume_object' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#output'     Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\n\t'  Text
+'\n\t\t\n\t'  Text.Whitespace
 '/'           Punctuation
 'Define_Tag'  Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\n'      Text
+'\n\t\n'      Text.Whitespace
 
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Lasso_TagExists' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Literal'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ';'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 'Define_Type' Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Literal'     Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'String'      Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/'           Punctuation
 'Define_Type' Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\n'      Text
+'\n\t\n'      Text.Whitespace
 
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Lasso_TagExists' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Object'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ';'           Punctuation
-'\n\t\n\t'    Text
+'\n\t\n\t'    Text.Whitespace
 'Define_Type' Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Object'      Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'Map'         Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/'           Punctuation
 'Define_Type' Keyword
 ';'           Punctuation
-'\n\t\n'      Text
+'\n\t\n'      Text.Whitespace
 
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Lasso_TagExists' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'JSON_RPCCall' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ';'           Punctuation
-'\n\t\n\t'    Text
+'\n\t\n\t'    Text.Whitespace
 'Define_Tag'  Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'RPCCall'     Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Namespace'  Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'JSON_'       Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '-Required'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'method'      Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '-Optional'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'params'      Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '-Optional'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'id'          Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '-Optional'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'host'        Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\n\t\t'    Text
+'\n\n\t\t'    Text.Whitespace
 '!'           Operator
 '('           Punctuation
 'Local_Defined' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'host'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'host'        Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'http://localhost/lassoapps.8/rpc/rpc.lasso' Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '!'           Operator
 '('           Punctuation
 'Local_Defined' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'id'          Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'id'          Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Lasso_UniqueID' Name.Builtin
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'request'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Map'         Keyword.Type
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'method'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#method'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'params'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#params'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'id'          Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#id'         Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'request'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#request'    Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'result'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Include_URL' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#host'       Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-PostParams' Name.Attribute
 '='           Operator
 '#request'    Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'result'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Decode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#result'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#result'     Name.Variable.Instance
 ';'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '/'           Punctuation
 'Define_Tag'  Keyword
 ';'           Punctuation
-'\n\t\n'      Text
+'\n\t\n'      Text.Whitespace
 
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Lasso_TagExists' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'JSON_Records' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'False'       Keyword.Constant
 ';'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 'Define_Tag'  Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'JSON_Records' Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '-Optional'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'KeyField'    Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '-Optional'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'ReturnField' Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '-Optional'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'ExcludeField' Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '-Optional'   Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 'Fields'      Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\n\t\t'    Text
+'\n\n\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_fields'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local_Defined' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'fields'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '#fields'     Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'IsA'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'array'       Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '#fields'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'Field_Names' Name.Builtin
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Fail_If'     Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#_fields'    Name.Variable.Instance
 '->'          Operator
 'size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'No fields found for [JSON_Records]' Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_keyfield'   Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'keyfield'    Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#_fields'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '#_keyfield'  Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_keyfield'   Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'KeyField_Name' Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#_fields'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '#_keyfield'  Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_keyfield'   Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'ID'          Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'If'          Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#_fields'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '#_keyfield'  Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_keyfield'   Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#_fields'    Name.Variable.Instance
 '->'          Operator
 'First'       Name.Builtin
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_index'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#_fields'    Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'FindPosition' Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#_keyfield'  Name.Variable.Instance
 ')'           Punctuation
 '->'          Operator
 'First'       Name.Builtin
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_return'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local_Defined' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'returnfield' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Params'      Keyword
 '->'          Operator
 '('           Punctuation
 'Find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-ReturnField' Name.Attribute
 ')'           Punctuation
 '->'          Operator
 '('           Punctuation
 'ForEach'     Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 'Params'      Keyword
 '->'          Operator
 'First'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Params'      Keyword
 '->'          Operator
 'First'       Name.Builtin
 '->'          Operator
 'Second'      Name.Builtin
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'True'        Keyword.Constant
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#_fields'    Name.Variable.Instance
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_exclude'    Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local_Defined' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'excludefield' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Params'      Keyword
 '->'          Operator
 '('           Punctuation
 'Find'        Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-ExcludeField' Name.Attribute
 ')'           Punctuation
 '->'          Operator
 '('           Punctuation
 'ForEach'     Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 'Params'      Keyword
 '->'          Operator
 'First'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Params'      Keyword
 '->'          Operator
 'First'       Name.Builtin
 '->'          Operator
 'Second'      Name.Builtin
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'True'        Keyword.Constant
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'Array'       Keyword.Type
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_records'    Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'Array'       Keyword.Type
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Iterate'     Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Records_Array' Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_record'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_temp'       Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Map'         Keyword.Type
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'Iterate'     Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#_fields'    Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_field'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '#_return'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '#_field'     Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#_exclude'   Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '#_field'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '#_temp'      Name.Variable.Instance
 '->'          Operator
 'Insert'      Name.Builtin
 '('           Punctuation
 '#_field'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#_record'    Name.Variable.Instance
 '->'          Operator
 '('           Punctuation
 'Get'         Name.Other
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Loop_Count'  Keyword
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'Iterate'     Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#_records'   Name.Variable.Instance
 '->'          Operator
 'Insert'      Name.Builtin
 '#_temp'      Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'Iterate'     Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Local'       Keyword.Declaration
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '_output'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Encode_JSON' Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Object'      Name.Builtin
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'error_msg'   Literal.String.Single
 "'"           Literal.String.Single
 '='           Operator
 'Error_Msg'   Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'error_code'  Literal.String.Single
 "'"           Literal.String.Single
 '='           Operator
 'Error_Code'  Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'found_count' Literal.String.Single
 "'"           Literal.String.Single
 '='           Operator
 'Found_Count' Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'keyfield'    Literal.String.Single
 "'"           Literal.String.Single
 '='           Operator
 '#_keyfield'  Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'rows'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Return'      Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '@'           Punctuation
 '#_output'    Name.Variable.Instance
 ';'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '/'           Punctuation
 'Define_Tag'  Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '?>'          Comment.Preproc
 '\n'          Other
index 4424483688be0d2fb3aa5a0f0abbcd330cd096e7..2e7ac71d7f86fdbc5a4cd82f696447d55dad799a 100644 (file)
@@ -1,42 +1,46 @@
 '/**\n\ttrait_json_serialize\n\tObjects with this trait will be assumed to convert to json data\n\twhen its ->asString method is called\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'trait_json_serialize' Name.Class
-' => '        Operator
+' '           Text.Whitespace
+'=>'          Operator
+' '           Text.Whitespace
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'require'     Keyword
-' '           Text
+' '           Text.Whitespace
 'asString'    Name
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::bytes'     Name.Label
+'::'          Punctuation
+'bytes'       Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword.Type
 '('           Punctuation
 '('           Punctuation
 '`\\`'        Literal.String.Backtick
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`\\\\`'      Literal.String.Backtick
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\"'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\r'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 'r'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\n'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 'n'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\t'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 't'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\f'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 'f'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\b'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 'b'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::string'    Name.Label
+'::'          Punctuation
+'string'      Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword.Type
 '('           Punctuation
 '('           Punctuation
 '`\\`'        Literal.String.Backtick
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '`\\\\`'      Literal.String.Backtick
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\"'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\r'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 'r'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\n'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 'n'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\t'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 't'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\f'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 'f'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
-'& '          Operator
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
 'Replace'     Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '\\b'         Literal.String.Escape
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '\\\\'        Literal.String.Escape
 'b'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::json_literal' Name.Label
+'::'          Punctuation
+'json_literal' Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#e'          Name.Variable.Instance
 '->'          Operator
 'asstring'    Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::integer'   Name.Label
+'::'          Punctuation
+'integer'     Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#e'          Name.Variable.Instance
 '->'          Operator
 'asstring'    Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::decimal'   Name.Label
+'::'          Punctuation
+'decimal'     Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#e'          Name.Variable.Instance
 '->'          Operator
 'asstring'    Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::boolean'   Name.Label
+'::'          Punctuation
+'boolean'     Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#e'          Name.Variable.Instance
 '->'          Operator
 'asstring'    Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::null'      Name.Label
+'::'          Punctuation
+'null'        Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String.Single
 'null'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::date'      Name.Label
+'::'          Punctuation
+'date'        Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#e'          Name.Variable.Instance
 '->'          Operator
 'format'      Name.Builtin
 '#e'          Name.Variable.Instance
 '->'          Operator
 'gmt'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '%QT%TZ'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '%Q%T'        Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '"'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/*\ndefine json_serialize(e::array)::string => {\n\tlocal(output) = '';\n\tlocal(delimit) = '';\n\t#e->foreach => { #output += #delimit + json_serialize(#1); #delimit = ', '; }\n\treturn('[' + #output + ']');\n}\ndefine json_serialize(e::staticarray)::string => {\n\tlocal(output) = '';\n\tlocal(delimit) = '';\n\t#e->foreach => { #output += #delimit + json_serialize(#1); #delimit = ', '; }\n\treturn('[' + #output + ']');\n}\n*/" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::trait_forEach' Name.Label
+'::'          Punctuation
+'trait_forEach' Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
 'output'      Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
 'delimit'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '#e'          Name.Variable.Instance
 '->'          Operator
 'foreach'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Builtin
 '('           Punctuation
 '#1'          Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ', '          Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 "'"           Literal.String.Single
 '['           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ']'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::map'       Name.Label
+'::'          Punctuation
+'map'         Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
-'output'      Name
-' ='          Operator
-' '           Text
+'output'      Name.Builtin
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 'with'        Keyword
-' '           Text
+' '           Text.Whitespace
 'pr'          Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '#e'          Name.Variable.Instance
 '->'          Operator
 'eachPair'    Name.Builtin
-' \n\t\t\t\t\t' Text
+' \n\t\t\t\t\t' Text.Whitespace
 'select'      Keyword
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Builtin
 '('           Punctuation
 '#pr'         Name.Variable.Instance
 '->'          Operator
 'asString'    Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ': '          Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Builtin
 '('           Punctuation
 '#pr'         Name.Variable.Instance
 'second'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '{'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'join'        Name.Builtin
 ','           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '}'           Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::json_object' Name.Label
+'::'          Punctuation
+'json_object' Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
 'output'      Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
 'delimit'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '#e'          Name.Variable.Instance
 '->'          Operator
 'foreachpair' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#1'          Name.Variable.Instance
 '->'          Operator
 'first'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ': '          Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Builtin
 '('           Punctuation
 '#1'          Name.Variable.Instance
 'second'      Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 ', '          Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'return'      Keyword
 '('           Punctuation
 "'"           Literal.String.Single
 '{'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '}'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::trait_json_serialize' Name.Label
+'::'          Punctuation
+'trait_json_serialize' Name.Label
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '#e'          Name.Variable.Instance
 '->'          Operator
 'asString'    Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Function
 '('           Punctuation
 'e'           Name.Attribute
-'::any'       Name.Label
+'::'          Punctuation
+'any'         Name.Label
 ')'           Punctuation
-'::string'    Name.Label
-' '           Text
+'::'          Punctuation
+'string'      Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'json_serialize' Name.Builtin
 '('           Punctuation
 "'"           Literal.String.Single
 '<LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '#e'          Name.Variable.Instance
 '->'          Operator
 'serialize'   Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '</LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'// Bil Corry fixes for decoding json\n' Comment.Single
+'// Bil Corry fixes for decoding json' Comment.Single
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_consume_string' Name.Function
 '('           Punctuation
 'ibytes'      Name.Attribute
-'::bytes'     Name.Label
+'::'          Punctuation
+'bytes'       Name.Label
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
 'obytes'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'bytes'       Keyword.Type
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
 'temp'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'while'       Keyword
 '('           Punctuation
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '34'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 'import8bits' Name.Builtin
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '92'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 'import8bits' Name.Builtin
 'export8bits' Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// Escape \\\n' Comment.Single
-
-' \t'         Text
+' '           Text.Whitespace
+'// Escape \\' Comment.Single
+'\n \t'       Text.Whitespace
 '/'           Punctuation
 'while'       Keyword
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
-'output'      Name
-' ='          Operator
-' '           Text
+'output'      Name.Builtin
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 'string'      Keyword.Type
 '('           Punctuation
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 'unescape'    Name.Builtin
 ')'           Punctuation
-'\n\t'        Text
-'//Replace(\'\\\\"\', \'\\"\') & Replace(\'\\\\r\', \'\\r\') & Replace(\'\\\\n\', \'\\n\') & Replace(\'\\\\t\', \'\\t\') & Replace(\'\\\\f\', \'\\f\') & Replace(\'\\\\b\', \'\\b\') &;\n' Comment.Single
-
-'\t'          Text
+'\n\t'        Text.Whitespace
+'//Replace(\'\\\\"\', \'\\"\') & Replace(\'\\\\r\', \'\\r\') & Replace(\'\\\\n\', \'\\n\') & Replace(\'\\\\t\', \'\\t\') & Replace(\'\\\\f\', \'\\f\') & Replace(\'\\\\b\', \'\\b\') &;' Comment.Single
+'\n\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '<LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'EndsWith'    Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Protect'     Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'serialization_reader' Name.Builtin
 '('           Punctuation
 'xml'         Keyword.Type
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '<LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '</LassoNativeType>' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 '->'          Operator
 'read'        Name.Builtin
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'Protect'     Keyword
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'else'        Keyword
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 'size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Operator.Word
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '15'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'and'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'regexp'      Name.Builtin
 '('           Punctuation
 '`\\d{8}T\\d{6}Z?`' Literal.String.Backtick
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
 ')'           Punctuation
 '->'          Operator
 'matches'     Name.Builtin
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'date'        Keyword.Type
 '('           Punctuation
 '#output'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-Format'     Name.Attribute
 '='           Operator
 '#output'     Name.Variable.Instance
 '->'          Operator
 'size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
 '?'           Operator
 "`yyyyMMdd'T'HHmmssZ`" Literal.String.Backtick
 '|'           Operator
 "`yyyyMMdd'T'HHmmss`" Literal.String.Backtick
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/'           Punctuation
 'if'          Keyword
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'// Bil Corry fix + Ke fix\n' Comment.Single
+'// Bil Corry fix + Ke fix' Comment.Single
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_consume_token' Name.Function
 '('           Punctuation
 'ibytes'      Name.Attribute
-'::bytes'     Name.Label
+'::'          Punctuation
+'bytes'       Name.Label
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'temp'        Name.Attribute
-'::integer'   Name.Label
+'::'          Punctuation
+'integer'     Name.Label
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
-'obytes'      Name
-' ='          Operator
-' '           Text
+'obytes'      Name.Other
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 'bytes'       Keyword.Type
 '->'          Operator
 'import8bits' Name.Builtin
 '('           Punctuation
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 ','           Punctuation
-'\n\t\t'      Text
-'delimit'     Name
-' ='          Operator
-' '           Text
+'\n\t\t'      Text.Whitespace
+'delimit'     Name.Other
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 'array'       Keyword.Type
 '('           Punctuation
 '9'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '13'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '58'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '93'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '125'         Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
-'// \\t\\r\\n ,:]}\n' Comment.Single
+' '           Text.Whitespace
+'// \\t\\r\\n ,:]}' Comment.Single
+'\n'          Text.Whitespace
 
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'while'       Keyword
 '('           Punctuation
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!>>'         Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '#obytes'     Name.Variable.Instance
 '->'          Operator
 'import8bits' Name.Builtin
 '('           Punctuation
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/'           Punctuation
 'while'       Keyword
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '125'         Literal.Number.Integer
 '?'           Operator
-' '           Text
-'// }\n'      Comment.Single
-
-'\t\t'        Text
+' '           Text.Whitespace
+'// }'        Comment.Single
+'\n\t\t'      Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'marker'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '-='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'//============================================================================\n' Comment.Single
+'//============================================================================' Comment.Single
+'\n'          Text.Whitespace
 
-'//\tIs also end of token if end of array[]\n' Comment.Single
-
-'\t'          Text
+'//\tIs also end of token if end of array[]' Comment.Single
+'\n\t'        Text.Whitespace
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '93'          Literal.Number.Integer
 '?'           Operator
-' '           Text
-'// ]\n'      Comment.Single
-
-'\t\t'        Text
+' '           Text.Whitespace
+'// ]'        Comment.Single
+'\n\t\t'      Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'marker'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '-='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'//............................................................................\t\t\n' Comment.Single
+'//............................................................................' Comment.Single
+'\t\t\n'      Text.Whitespace
 
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
-'output'      Name
-' ='          Operator
-' '           Text
+'output'      Name.Builtin
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 'string'      Keyword.Type
 '('           Punctuation
 '#obytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'true'        Literal.String.Single
 "'"           Literal.String.Single
 '?'           Operator
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'false'       Literal.String.Single
 "'"           Literal.String.Single
 '?'           Operator
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'null'        Literal.String.Single
 "'"           Literal.String.Single
 '?'           Operator
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'string_IsNumeric' Name.Builtin
 '('           Punctuation
 '#output'     Name.Variable.Instance
 ')'           Punctuation
 '?'           Operator
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '.'           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'decimal'     Keyword.Type
 '('           Punctuation
 '#output'     Name.Variable.Instance
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'integer'     Keyword.Type
 '('           Punctuation
 '#output'     Name.Variable.Instance
 ')'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '#output'     Name.Variable.Instance
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'// Bil Corry fix\n' Comment.Single
+'// Bil Corry fix' Comment.Single
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_consume_array' Name.Function
 '('           Punctuation
 'ibytes'      Name.Attribute
-'::bytes'     Name.Label
+'::'          Punctuation
+'bytes'       Name.Label
 ')'           Punctuation
-'::array'     Name.Label
-' '           Text
+'::'          Punctuation
+'array'       Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'Local'       Keyword.Declaration
 '('           Punctuation
 'output'      Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'array'       Keyword.Type
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
 'delimit'     Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'array'       Keyword.Type
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '13'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// \\t\\r\\n ,\n' Comment.Single
-
-'\t'          Text
+' '           Text.Whitespace
+'// \\t\\r\\n ,' Comment.Single
+'\n\t'        Text.Whitespace
 'local'       Keyword.Declaration
 '('           Punctuation
 'temp'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'While'       Keyword
 '('           Punctuation
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '93'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// ]\n'      Comment.Single
-
-'\t\t'        Text
+' '           Text.Whitespace
+'// ]'        Comment.Single
+'\n\t\t'      Text.Whitespace
 'If'          Keyword
 '('           Punctuation
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
-'// Discard whitespace\n' Comment.Single
-
-'\t\t'        Text
+'\n\t\t\t'    Text.Whitespace
+'// Discard whitespace' Comment.Single
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '34'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// "\n'      Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// "'        Comment.Single
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'insert'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '91'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// [\n'      Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// ['        Comment.Single
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'insert'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// {\n'      Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// {'        Comment.Single
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'insert'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'insert'      Name.Builtin
 '('           Punctuation
 '#ibytes'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '93'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Loop_Abort'  Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/'           Punctuation
 'While'       Keyword
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'Return'      Keyword
 '('           Punctuation
 '#output'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'// Bil Corry fix\n' Comment.Single
+'// Bil Corry fix' Comment.Single
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_consume_object' Name.Function
 '('           Punctuation
 'ibytes'      Name.Attribute
-'::bytes'     Name.Label
+'::'          Punctuation
+'bytes'       Name.Label
 ')'           Punctuation
-'::map'       Name.Label
-' '           Text
+'::'          Punctuation
+'map'         Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'Local'       Keyword.Declaration
 '('           Punctuation
 "'"           Literal.String.Single
 'output'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'map'         Keyword.Type
 ','           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 "'"           Literal.String.Single
 'delimit'     Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'array'       Keyword.Type
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '13'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
-'// \\t\\r\\n ,\n' Comment.Single
-
-'\t\t'        Text
+' '           Text.Whitespace
+'// \\t\\r\\n ,' Comment.Single
+'\n\t\t'      Text.Whitespace
 "'"           Literal.String.Single
 'temp'        Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ','           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 "'"           Literal.String.Single
 'key'         Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ','           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 "'"           Literal.String.Single
 'val'         Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'While'       Keyword
 '('           Punctuation
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '125'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// }\n'      Comment.Single
-
-'\t\t'        Text
+' '           Text.Whitespace
+'// }'        Comment.Single
+'\n\t\t'      Text.Whitespace
 'If'          Keyword
 '('           Punctuation
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
-'// Discard whitespace\n' Comment.Single
-
-'\t\t'        Text
+'\n\t\t\t'    Text.Whitespace
+'// Discard whitespace' Comment.Single
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '34'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// "\n'      Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// "'        Comment.Single
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'insert'      Name.Builtin
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'json_consume_string' Name.Builtin
 '('           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '91'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// [\n'      Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// ['        Comment.Single
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'insert'      Name.Builtin
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'json_consume_array' Name.Builtin
 '('           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// {\n'      Comment.Single
-
-'\t\t\t'      Text
+' '           Text.Whitespace
+'// {'        Comment.Single
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'insert'      Name.Builtin
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'json_consume_object' Name.Builtin
 '('           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#output'     Name.Variable.Instance
 '->'          Operator
 'insert'      Name.Builtin
 '('           Punctuation
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'json_consume_token' Name.Builtin
 '('           Punctuation
 '#ibytes'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#temp'       Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Type
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Else'        Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#key'        Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'json_consume_string' Name.Builtin
 '('           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'while'       Keyword
 '('           Punctuation
 '#delimit'    Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 ':='          Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '/'           Punctuation
 'while'       Keyword
 ';'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '58'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'Loop_Abort'  Keyword
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/'           Punctuation
 'While'       Keyword
 ';'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 'If'          Keyword
 '('           Punctuation
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 '__jsonclass__' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 ')'           Punctuation
 '->'          Operator
 'size'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 ')'           Punctuation
 '->'          Operator
 'First'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'deserialize' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Return'      Keyword
 '('           Punctuation
 '#output'     Name.Variable.Instance
 'First'       Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'native'      Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '>>'          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'comment'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '#output'     Name.Variable.Instance
 '->'          Operator
 'comment'     Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'http://www.lassosoft.com/json' Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'Return'      Keyword
 '('           Punctuation
 '#output'     Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'Return'      Keyword
 '('           Punctuation
 '#output'     Name.Variable.Instance
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'// Bil Corry fix + Ke fix\n' Comment.Single
+'// Bil Corry fix + Ke fix' Comment.Single
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_deserialize' Name.Function
 '('           Punctuation
 'ibytes'      Name.Attribute
-'::bytes'     Name.Label
+'::'          Punctuation
+'bytes'       Name.Label
 ')'           Punctuation
-'::any'       Name.Label
-' '           Text
+'::'          Punctuation
+'any'         Name.Label
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'removeLeading' Name.Builtin
 'bom_utf8'    Name.Builtin
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
-
-'//============================================================================\n' Comment.Single
+'\n\n'        Text.Whitespace
 
-'//\tReset marker on provided bytes\n' Comment.Single
+'//============================================================================' Comment.Single
+'\n'          Text.Whitespace
 
-'\t'          Text
+'//\tReset marker on provided bytes' Comment.Single
+'\n\t'        Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'marker'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
-
-'//............................................................................\t\t\n' Comment.Single
+'\n'          Text.Whitespace
 
-'\t\n\t'      Text
+'//............................................................................' Comment.Single
+'\t\t\n\t'    Text.Whitespace
+'\n\t'        Text.Whitespace
 'Local'       Keyword.Declaration
 '('           Punctuation
 'temp'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#ibytes'     Name.Variable.Instance
 '->'          Operator
 'export8bits' Name.Builtin
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'If'          Keyword
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '91'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// [\n'      Comment.Single
-
-'\t\t'        Text
+' '           Text.Whitespace
+'// ['        Comment.Single
+'\n\t\t'      Text.Whitespace
 'Return'      Keyword
 '('           Punctuation
 'json_consume_array' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'Else'        Keyword
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
-'// {\n'      Comment.Single
-
-'\t\t'        Text
+' '           Text.Whitespace
+'// {'        Comment.Single
+'\n\t\t'      Text.Whitespace
 'Return'      Keyword
 '('           Punctuation
 'json_consume_object' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'else'        Keyword
 '('           Punctuation
 '#temp'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '34'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
-'// "\n'      Comment.Single
-
-'\t\t'        Text
+' '           Text.Whitespace
+'// "'        Comment.Single
+'\n\t\t'      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'json_consume_string' Name.Builtin
 '('           Punctuation
 '#ibytes'     Name.Variable.Instance
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '/'           Punctuation
 'If'          Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_deserialize' Name.Function
 '('           Punctuation
 's'           Name.Attribute
-'::string'    Name.Label
+'::'          Punctuation
+'string'      Name.Label
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'json_deserialize' Name.Builtin
 '('           Punctuation
 'bytes'       Keyword.Type
 '#s'          Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 "/**! json_literal - This is a subclass of String used for JSON encoding.\n\n\tA json_literal works exactly like a string, but will be inserted directly\n\trather than being encoded into JSON. This allows JavaScript elements\n\tlike functions to be inserted into JSON objects. This is most useful\n\twhen the JSON object will be used within a JavaScript on the local page.\n\t[Map: 'fn'=Literal('function(){ ...})] => {'fn': function(){ ...}}\n**/" Literal.String.Doc
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_literal' Name.Class
-' => '        Operator
+' '           Text.Whitespace
+'=>'          Operator
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'parent'      Keyword
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '/**! json_object - This is a subclass of Map used for JSON encoding.\n\n\tAn object works exactly like a map, but when it is encoded into JSON all\n\tof the keys will be inserted literally. This makes it easy to create a\n\tJavaScript object without extraneous quote marks.\n\tObject(\'name\'=\'value\') => {name: "value"}\n**/' Literal.String.Doc
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_object' Name.Class
-' => '        Operator
+' '           Text.Whitespace
+'=>'          Operator
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'parent'      Keyword
-' '           Text
+' '           Text.Whitespace
 'map'         Keyword.Type
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'onCreate'    Name.Function
 '('           Punctuation
 '...'         Name.Builtin.Pseudo
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '..'          Name.Builtin.Pseudo
 'onCreate'    Name.Builtin
 '('           Punctuation
 ':'           Punctuation
 '#rest'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 'or'          Operator.Word
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ':'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'json_rpccall' Name.Function
 '('           Punctuation
 'method'      Name.Attribute
-'::string'    Name.Label
+'::'          Punctuation
+'string'      Name.Label
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'params'      Name.Attribute
 '='           Operator
 'map'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'id'          Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'host'        Name.Attribute
 '='           Operator
 "'"           Literal.String.Single
 "'"           Literal.String.Single
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '#id'         Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '#host'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Lasso_UniqueID' Name.Builtin
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '#host'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '#host'       Name.Variable.Instance
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'http://localhost/lassoapps.8/rpc/rpc.lasso' Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'Return'      Keyword
 '('           Punctuation
 'Decode_JSON' Name.Builtin
 '('           Punctuation
 '#host'       Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-PostParams' Name.Attribute
 '='           Operator
 'Encode_JSON' Name.Builtin
 "'"           Literal.String.Single
 'method'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#method'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'params'      Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#params'     Name.Variable.Instance
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Single
 'id'          Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '#id'         Name.Variable.Instance
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index a29f64981609cc91fe28f5c1b6fae38656242675..b2cbb81c361ae5f7396e4054ef862d9895629aa1 100644 (file)
@@ -2,7 +2,7 @@
 
 % This is a test file for Pygments' LilyPond support. To compile
 % it with Guile 1 (as in official releases as of this writing),
-% remove the "commented form" below.
+% remove the "commented forms" below.
 
 %{
   All supported constructs are covered in
@@ -31,7 +31,9 @@ Escape \" sequences \n are recognized."
 }
 
 myFunc =
-# #;(This is a commented form. After it, we are still in Scheme mode.)
+# #;(This is a commented form. There is another just after.)
+  #;+inf.0
+  ;; After these comments, we are still in Scheme mode.
 (define-music-function (music n) (ly:music? index?)
    (let* ((repeated (make-list n music))
           (copied (map ly:music-deep-copy repeated)))
@@ -64,8 +66,9 @@ piuPiano = \markup \italic "più piano"
 #(symbol->string 'some-symbol)
 
 <<
-  \new Staff \with {
+  \new Staff = myStaff \with {
     \consists Duration_line_engraver
+    \override VerticalAxisGroup.staff-staff-spacing.basic-distance = 20
   }
   \relative c' {
     \clef alto
index e82aa6a43dd2774ccdaee7041a9b7a6fe0023db5..a45d34fd265679a715521e09d801d18624555751 100644 (file)
@@ -11,7 +11,7 @@
 '% it with Guile 1 (as in official releases as of this writing),' Comment.Single
 '\n'          Whitespace
 
-'% remove the "commented form" below.' Comment.Single
+'% remove the "commented forms" below.' Comment.Single
 '\n\n'        Whitespace
 
 '%{\n  All supported constructs are covered in\n  this file.  For example, multi-line comments.\n\n  These are non-nested. The following will\n  end the whole comment:\n  %{ %}' Comment.Multiline
 '\n'          Whitespace
 
 '#'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#;('         Comment
-'This is a commented form. After it, we are still in Scheme mode.' Comment
+'This is a commented form. There is another just after.' Comment
 ')'           Comment
-'\n'          Text
+'\n  '        Text.Whitespace
+'#;'          Comment
+'+inf.0'      Comment
+'\n  '        Text.Whitespace
+';; After these comments, we are still in Scheme mode.' Comment.Single
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define-music-function' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'music'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ly:music?'   Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 'index?'      Name.Builtin.SchemeFunction
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'repeated'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-list'   Name.Function
-' '           Text
+'make-list'   Name.Builtin.SchemeBuiltin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'music'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'copied'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin.SchemeBuiltin
+'map'         Name.Builtin.SchemeBuiltin
+' '           Text.Whitespace
 'ly:music-deep-copy' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 'repeated'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '; This is a Scheme comment.' Comment.Single
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'make-sequential-music' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 'copied'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 '#'           Punctuation
 '('           Punctuation
 'define-music-function' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'music'       Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ly:music?'   Name.Builtin.SchemeFunction
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '#{'          Punctuation
 '\n     '     Whitespace
 '% LilyPond syntax here.' Comment.Single
 '1'           Literal.Number
 '\n        '  Whitespace
 '#'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; Scheme syntax again.' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'ly:music-deep-copy' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 'music'       Name.Variable
 ')'           Punctuation
 '\n   '       Whitespace
 '#'           Punctuation
 '('           Punctuation
 'define-markup-command' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'small-italic' Name.Function
-' '           Text
+' '           Text.Whitespace
 'layout'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'props'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'markup?'     Name.Builtin.SchemeFunction
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'interpret-markup' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 'layout'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'props'       Name.Variable
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'make-small-markup' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-italic-markup' Name.Builtin.SchemeFunction
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 
 '#'           Punctuation
 '('           Punctuation
-'symbol->string' Name.Variable
-' '           Text
+'symbol->string' Name.Builtin.SchemeBuiltin
+' '           Text.Whitespace
 "'some-symbol" Literal.String.Symbol
 ')'           Punctuation
 '\n\n'        Whitespace
 ' '           Whitespace
 'Staff'       Name.Builtin.Context
 ' '           Whitespace
+'='           Punctuation
+' '           Whitespace
+'myStaff'     Text
+' '           Whitespace
 '\\with'      Keyword
 ' '           Whitespace
 '{'           Punctuation
 '\\consists'  Keyword
 ' '           Whitespace
 'Duration_line_engraver' Name.Builtin.Translator
+'\n    '      Whitespace
+'\\override'  Name.Builtin.MusicFunction
+' '           Whitespace
+'VerticalAxisGroup' Name.Builtin.Grob
+'.'           Punctuation
+'staff-staff-spacing' Name.Builtin.GrobProperty
+'.'           Punctuation
+'basic-distance' Name.Builtin.GrobProperty
+' '           Whitespace
+'='           Punctuation
+' '           Whitespace
+'20'          Literal.Number
 '\n  '        Whitespace
 '}'           Punctuation
 '\n  '        Whitespace
 ' '           Whitespace
 '{'           Punctuation
 '\n               ' Whitespace
-'S'           Text
-'o'           Text
-'m'           Text
-'e'           Pitch
+'Some'        Text
 '\n               ' Whitespace
-'T'           Text
-'e'           Text
-'x'           Text
-'t'           Text
+'Text'        Text
 '\n               ' Whitespace
-'I'           Text
-'n'           Text
+'In'          Text
 '\n               ' Whitespace
 'A'           Text
 '\n               ' Whitespace
 ' '           Whitespace
 '\\italic'    Name.Builtin.MarkupCommand
 ' '           Whitespace
-'C'           Text
-'o'           Text
-'l'           Text
-'u'           Text
-'m'           Text
-'n'           Text
+'Column'      Text
 '!'           Text
 '\n               ' Whitespace
 '\\small-italic' Name.BackslashReference
 ' '           Whitespace
-'s'           Text
-'u'           Text
-'p'           Text
-'e'           Text
-'r'           Pitch
+'super'       Text
 '\n             ' Whitespace
 '}'           Punctuation
 '\n    '      Whitespace
 '_\\piuPiano' Name.BackslashReference
 '^\\markup'   Name.Builtin.MarkupCommand
 ' '           Whitespace
-'d'           Text
-'o'           Text
-'l'           Text
-'c'           Text
-'e'           Pitch
+'dolce'       Text
 '\n  '        Whitespace
 '}'           Punctuation
 '\n  '        Whitespace
 '('           Punctuation
 ')'           Punctuation
 '\n    '      Whitespace
-'M'           Text
-'y'           Text
+'My'          Text
 ' '           Whitespace
-'L'           Text
-'i'           Text
-'l'           Text
-'y'           Text
+'Lily'        Text
 ' '           Whitespace
 '--'          Punctuation
 ' '           Whitespace
-'S'           Text
-'o'           Text
-'n'           Text
-'g'           Pitch
+'Song'        Text
 '\n  '        Whitespace
 '}'           Punctuation
 '\n  '        Whitespace
index 3a646bd5b36ad3164448534d5efc923fc481c380..361d42ed06c667216c77d0fefab21a69e753a89f 100644 (file)
 'implement'   Keyword
-' '           Text
+' '           Text.Whitespace
 'Ninewin'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'include'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'sys.m'       Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sys'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'include'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'draw.m'      Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'draw'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Draw'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Image'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Display'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Pointer'     Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'draw'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'include'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'arg.m'       Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'include'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'keyboard.m'  Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'include'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'tk.m'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'include'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'wmclient.m'  Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'wmclient'    Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Wmclient'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Window'      Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'wmclient'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'include'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'sh.m'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sh'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'Sh'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# run a p9 graphics program (default rio) under inferno wm,\n' Comment.Single
 
 
 '# /dev/cons - read keyboard events, write to 9win stdout.\n' Comment.Single
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Ninewin'     Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'module'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'init'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'fn'          Keyword.Type
 '('           Punctuation
 'ctxt'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Draw'        Name
 '-'           Operator
 '>'           Operator
 'Context'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'winname'     Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'init'        Name
 '('           Punctuation
 'ctxt'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Draw'        Name
 '-'           Operator
 '>'           Operator
 'Context'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'size'        Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Draw'        Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 '500'         Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '500'         Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sys'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'PATH'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'draw'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Draw'        Name
-' '           Text
+' '           Text.Whitespace
 'Draw'        Name
 '-'           Operator
 '>'           Operator
 'PATH'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'wmclient'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Wmclient'    Name
-' '           Text
+' '           Text.Whitespace
 'Wmclient'    Name
 '-'           Operator
 '>'           Operator
 'PATH'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'wmclient'    Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sh'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Sh'          Name
-' '           Text
+' '           Text.Whitespace
 'Sh'          Name
 '-'           Operator
 '>'           Operator
 'PATH'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'buts'        Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Wmclient'    Name
 '-'           Operator
 '>'           Operator
 'Resize'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'ctxt'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'ctxt'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'wmclient'    Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'buts'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Wmclient'    Name
 '-'           Operator
 '>'           Operator
 'Plain'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'arg'         Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Arg'         Name
-' '           Text
+' '           Text.Whitespace
 'Arg'         Name
 '-'           Operator
 '>'           Operator
 'PATH'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'arg'         Name
 '-'           Operator
 '>'           Operator
 'argv'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'arg'         Name
 '-'           Operator
 '>'           Operator
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'exportonly'  Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'while'       Keyword
 '('           Punctuation
 '('           Punctuation
 '('           Punctuation
 'opt'         Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'opt'         Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 "'s'"         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'exportonly'  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
 "'x'"         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'size'        Name
 '.'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 "'y'"         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'size'        Name
 '.'           Punctuation
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'arg'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           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
 'if'          Keyword
 '('           Punctuation
 'size'        Name
 '.'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 '.'           Punctuation
 'y'           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
 'arg'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'hd'          Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '-s'          Literal.String
 '"'           Literal.String
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'exportonly'  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
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tl'          Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        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
 '('           Punctuation
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'exportonly'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'rio'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'exportonly'  Name
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '9win: no command allowed with -s flag' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'raise'       Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'fail:usage'  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
 'title'       Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '9win'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'exportonly'  Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'title'       Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' '           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'hd'          Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'w'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'wmclient'    Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'ctxt'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'title'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'buts'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'w'           Name
 '.'           Punctuation
 'reshape'     Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'size'        Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'w'           Name
 '.'           Punctuation
 'onscreen'    Name
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'w'           Name
 '.'           Punctuation
 'image'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '9win: cannot get image to draw on' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'raise'       Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'fail:no window' Literal.String
 '"'           Literal.String
 ';'           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
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '>'           Operator
 'NEWPGRP'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'ld'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/n/9win'     Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'sys'         Name
 '#s'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ld'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'MREPL'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '#s'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ld'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/n/local'    Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'MREPL'       Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '9win: cannot bind files: %r' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'raise'       Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'fail:error'  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
 'w'           Name
 '.'           Punctuation
 'startinput'  Name
 '"'           Literal.String
 'kbd'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'ptr'         Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'spawn'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ptrproc'     Name
 '('           Punctuation
 'rq'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'Rread'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
 '['           Punctuation
 '10'          Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Pointer'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'reshape'     Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\n\t'    Text
+'\t\t\n\t'    Text.Whitespace
 'fwinname'    Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'ld'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'winname'     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fconsctl'    Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'ld'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'consctl'     Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fcons'       Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'ld'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'cons'        Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fmouse'      Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'ld'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'mouse'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fcursor'     Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'ld'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'cursor'      Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'exportonly'  Name
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'spawn'       Keyword
-' '           Text
+' '           Text.Whitespace
 'run'         Name
 '('           Punctuation
 'sync'        Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 '.'           Punctuation
 'ctl'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ld'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '('           Punctuation
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'sync'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '9win: %s'    Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'raise'       Name
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'fail:error'  Literal.String
 '"'           Literal.String
 ';'           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
 'spawn'       Keyword
-' '           Text
+' '           Text.Whitespace
 'serveproc'   Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rq'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fwinname'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fconsctl'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fcons'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fmouse'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fcursor'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 '!'           Operator
 'exportonly'  Name
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '# handle events synchronously so that we don\'t get a "killed" message\n' Comment.Single
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '# from the shell.\n' Comment.Single
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'handleevents' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'reshape'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
 'else'        Keyword
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'spawn'       Keyword
-' '           Text
+' '           Text.Whitespace
 'handleevents' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'reshape'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'ld'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/dev'        Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'MBEFORE'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'export'      Name
 '('           Punctuation
 'sys'         Name
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 '.'           Punctuation
 'ctl'         Name
 ')'           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
 
 'handleevents' Name
 '('           Punctuation
 'w'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Window'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Pointer'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'reshape'     Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Name
 '('           Punctuation
 ';'           Punctuation
 ')'           Punctuation
 'alt'         Keyword
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'w'           Name
 'ctxt'        Name
 '.'           Punctuation
 'ctl'         Name
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'w'           Name
 '.'           Punctuation
 'ctl'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 '.'           Punctuation
 'wmctl'       Name
 'c'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '9win: ctl error: %s' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'!'"         Literal.String.Char
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'alt'         Keyword
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'reshape'     Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\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
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\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
 'winname'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'w'           Name
 'ctxt'        Name
 '.'           Punctuation
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'w'           Name
 '*'           Operator
 'p'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 "# XXX would block here if client isn't reading mouse... but we do want to\n" Comment.Single
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '# extert back-pressure, which conflicts.\n' Comment.Single
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'alt'         Keyword
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\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
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '# sys->fprint(sys->fildes(2), "9win: discarding mouse event\\n");\n' Comment.Single
 
-'\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
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'serveproc'   Name
 '('           Punctuation
 'w'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Window'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mouserq'     Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'Rread'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fwinname'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fconsctl'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fcons'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fmouse'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fcursor'     Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'FileIO'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'winid'       Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'krc'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'Rread'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'ks'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Name
 '('           Punctuation
 ';'           Punctuation
 ';'           Punctuation
 ')'           Punctuation
 'alt'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'w'           Name
 'ctxt'        Name
 '.'           Punctuation
 'kbd'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'ks'          Name
 '['           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'ks'          Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inf2p9key'   Name
 '('           Punctuation
 'c'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'krc'         Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'hd'          Keyword
-' '           Text
+' '           Text.Whitespace
 'krc'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'byte'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ks'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'ks'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'krc'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tl'          Keyword
-' '           Text
+' '           Text.Whitespace
 'krc'         Name
 ';'           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
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'wc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fcons'       Name
 '.'           Punctuation
 'write'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           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
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fcons'       Name
 '.'           Punctuation
 'read'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'ks'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'array'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'byte'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ks'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'ks'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '}'           Punctuation
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'krc'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'krc'         Name
 ';'           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
 'offset'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fwinname'    Name
 '.'           Punctuation
 'read'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'winname'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'winname'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 'noborder.9win.%d' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'winid'       Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'w'           Name
 '('           Punctuation
 'winname'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           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
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '9win: namewin %q failed: %r' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'winname'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'namewin failure' Literal.String
 '"'           Literal.String
 ')'           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
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'array'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'byte'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'winname'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'offset'      Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 '['           Punctuation
 'offset'      Name
 ':'           Operator
 ']'           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
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           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
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'wc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fwinname'    Name
 '.'           Punctuation
 'write'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'permission denied' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '('           Punctuation
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fconsctl'    Name
 '.'           Punctuation
 'read'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'permission denied' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '('           Punctuation
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'wc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fconsctl'    Name
 '.'           Punctuation
 'write'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'rawon'       Literal.String
 '"'           Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'cannot change console mode' Literal.String
 '"'           Literal.String
 ')'           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
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           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
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fmouse'      Name
 '.'           Punctuation
 'read'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'mouserq'     Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '('           Punctuation
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'wc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fmouse'      Name
 '.'           Punctuation
 'write'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cursorset'   Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           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
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
 ';'           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
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fcursor'     Name
 '.'           Punctuation
 'read'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'permission denied' Literal.String
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '('           Punctuation
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'wc'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'fcursor'     Name
 '.'           Punctuation
 'write'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'cursorswitch' Name
 '('           Punctuation
 'w'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           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
 'wc'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Operator
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 ')'           Punctuation
 ';'           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
 
 'ptrproc'     Name
 '('           Punctuation
 'rq'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'Rread'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ptr'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Pointer'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'reshape'     Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'rl'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'Rread'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Pointer'     Name
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Name
 '('           Punctuation
 ';'           Punctuation
 ';'           Punctuation
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'ch'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'alt'         Keyword
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'p'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'ptr'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'m'"         Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'p'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '<'           Operator
 '-'           Operator
 'reshape'     Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'ch'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'r'"         Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'rq'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'rl'          Name
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'rc'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'rl'          Name
 ';'           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
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'rl'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'rl'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 'rq'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'rl'          Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'hd'          Keyword
-' '           Text
+' '           Text.Whitespace
 'rl'          Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sys'         Name
 '-'           Operator
 '%c%11d %11d %11d %11d ' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ch'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '.'           Punctuation
 'xy'          Name
 '.'           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '.'           Punctuation
 'xy'          Name
 '.'           Punctuation
 'y'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '.'           Punctuation
 'buttons'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'c'           Name
 '.'           Punctuation
 'msec'        Name
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'rl'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tl'          Keyword
-' '           Text
+' '           Text.Whitespace
 'rl'          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
 
 'cursorset'   Name
 '('           Punctuation
 'w'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Window'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ')'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'm'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'m'"         Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'invalid mouse message' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ':'           Operator
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Name
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'm'           Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "' '"         Literal.String.Char
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'while'       Keyword
 '('           Punctuation
 'm'           Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "' '"         Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ';'           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
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'invalid mouse message' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 '['           Punctuation
 'i'           Name
 ':'           Operator
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 '.'           Punctuation
 'wmctl'       Name
 'ptr %d %d'   Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'cursorswitch' Name
 '('           Punctuation
 'w'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Window'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'array'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'byte'        Keyword.Type
 ')'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Hex'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '0123456789abcdef' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 '*'           Operator
 '4'           Literal.Number.Integer
 '+'           Operator
 '64'          Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'w'           Name
 '.'           Punctuation
 'wmctl'       Name
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'hot'         Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Draw'        Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 '*'           Operator
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'bglong'      Name
 '('           Punctuation
 'd'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '*'           Operator
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 'cursor %d %d 16 32 ' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'hot'         Name
 '.'           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'hot'         Name
 '.'           Punctuation
 'y'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Name
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 '*'           Operator
 '4'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 's'           Name
 '['           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Hex'         Name
 '['           Punctuation
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 's'           Name
 '['           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Hex'         Name
 '['           Punctuation
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '16rf'        Literal.Number.Hex
 ']'           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
 'w'           Name
 '.'           Punctuation
 'wmctl'       Name
 's'           Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'run'         Name
 '('           Punctuation
 'sync'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ctl'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ld'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Rcmeta'      Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '|<>&^*[]?();' Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '>'           Operator
 'FORKNS'      Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'sys'         Name
 '#₪'          Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/srv'        Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'MCREATE'     Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'sync'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '"'           Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'exit'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'srvname'     Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/srv/9win.'  Literal.String
 '"'           Literal.String
 '+'           Operator
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 ';'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '# XXX do better.\n' Comment.Single
 
-'\t'          Text
+'\t'          Text.Whitespace
 'fd'          Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'srvname'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'ORDWR'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '8r600'       Literal.Number.Oct
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'fd'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'sync'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 'cannot create %s: %r' Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'srvname'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'exit'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sync'        Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'spawn'       Keyword
-' '           Text
+' '           Text.Whitespace
 'export'      Name
 '('           Punctuation
 'fd'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ctl'         Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sh'          Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'os'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '"'           Literal.String
 'rc'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '-c'          Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '"'           Literal.String
 'mount '      Literal.String
 '"'           Literal.String
 ' /mnt/term;' Literal.String
 '"'           Literal.String
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '"'           Literal.String
 'rm '         Literal.String
 '"'           Literal.String
 ';'           Literal.String
 '"'           Literal.String
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '"'           Literal.String
 'bind -b /mnt/term' Literal.String
 '"'           Literal.String
 ' /dev;'      Literal.String
 '"'           Literal.String
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '"'           Literal.String
 'bind /mnt/term/dev/draw /dev/draw ||' Literal.String
 '"'           Literal.String
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 '"'           Literal.String
 'bind -a /mnt/term/dev /dev;' Literal.String
 '"'           Literal.String
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'quotedc'     Name
 '('           Punctuation
 '"'           Literal.String
 ':'           Operator
 'nil'         Keyword.Constant
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Rcmeta'      Name
 ')'           Punctuation
 '+'           Operator
 ';'           Literal.String
 '"'           Literal.String
 '+'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'quotedc'     Name
 '('           Punctuation
 'argv'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Rcmeta'      Name
 ')'           Punctuation
 '+'           Operator
 '"'           Literal.String
 ':'           Operator
 ':'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'nil'         Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'export'      Name
 '('           Punctuation
 'fd'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'FD'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ctl'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'chan'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '('           Punctuation
 'fd'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '/'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 'EXPWAIT'     Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'ctl'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'exit'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inf2p9key'   Name
 '('           Punctuation
 'c'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Keyboard'    Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 '16rF000'     Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Spec'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 '16rF800'     Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Khome'       Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r0D'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kup'         Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r0E'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kpgup'       Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r0F'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kprint'      Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r10'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kleft'       Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r11'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kright'      Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r12'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kdown'       Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'Spec'        Name
 '|'           Operator
 '16r00'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kview'       Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'Spec'        Name
 '|'           Operator
 '16r00'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kpgdown'     Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r13'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kins'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r14'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kend'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r18'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kalt'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r15'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kshift'      Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t'          Text
+'\t'          Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r16'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Kctl'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'con'         Keyword.Constant
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'P9KF'        Name
 '|'           Operator
 '16r17'       Literal.Number.Hex
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'LShift'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kshift'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'LCtrl'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kctl'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'LAlt'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kalt'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'Home'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Khome'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'End'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kend'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'Up'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kup'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'Down'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kdown'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'Left'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kleft'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'Right'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kright'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'Pgup'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kpgup'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'Pgdown'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kpgdown'     Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'Keyboard'    Name
 '-'           Operator
 '>'           Operator
 'Ins'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Kins'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '# function keys\n' Comment.Single
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '6'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '7'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '8'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '9'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '10'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '11'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'or'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'KF'          Name
 '|'           Operator
 '12'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'KF'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'P9KF'        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
 'c'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'cwd'         Name
 '('           Punctuation
 ')'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'sys'         Name
 '-'           Operator
 '>'           Operator
 '.'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Sys'         Name
 '-'           Operator
 '>'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# from string.b, waiting for declaration to be uncommented.\n' Comment.Single
 
 '('           Punctuation
 'argv'        Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cl'          Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ')'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'arg'         Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'hd'          Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'for'         Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 ';'           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
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "' '"         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'\\t'"       Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'\\n'"       Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'\\''"       Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'in'          Name
 '('           Punctuation
 'c'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'cl'          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'        Text
+'\t\t'        Text.Whitespace
 '}'           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
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 "'"           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 'i'           Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'for'         Name
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           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
 'arg'         Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'\\''"       Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t\t'  Text
+'\t\t\t\t\t'  Text.Whitespace
 's'           Name
 '['           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'\\''"       Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 's'           Name
 '['           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'arg'         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
 's'           Name
 '['           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'\\''"       Literal.String.Char
 ';'           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
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'arg'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tl'          Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 's'           Name
 '['           Punctuation
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "' '"         Literal.String.Char
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'argv'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'tl'          Keyword
-' '           Text
+' '           Text.Whitespace
 'argv'        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
 's'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'in'          Name
 '('           Punctuation
 'c'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
 ')'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'len'         Keyword
-' '           Text
+' '           Text.Whitespace
 's'           Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           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
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'ans'         Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'negate'      Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 's'           Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'^'"         Literal.String.Char
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'negate'      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
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ':'           Operator
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'n'           Name
 '-'           Operator
 '-'           Operator
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'for'         Name
 '('           Punctuation
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 '+'           Operator
 '+'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 's'           Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'-'"         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           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
 'n'           Name
 '-'           Operator
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name
 '['           Punctuation
 'i'           Name
 '-'           Operator
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name
 '['           Punctuation
 'i'           Name
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t\t'    Text
+'\t\t\t\t'    Text.Whitespace
 'ans'         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
 '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
 'i'           Name
 '+'           Operator
 '+'           Operator
 ';'           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
 'else'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's'           Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'ans'         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
 '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
 
-'\t'          Text
+'\t'          Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'negate'      Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'ans'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'ans'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '# just to showcase labels\n' Comment.Single
 
-'skip:\n'     Name.Label
+'skip:'       Name.Label
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'ans'         Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'bglong'      Name
 '('           Punctuation
 'd'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'array'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'of'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'byte'        Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ')'           Punctuation
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 '['           Punctuation
 'i'           Name
 '<'           Operator
 '8'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 '['           Punctuation
 'i'           Name
 '<'           Operator
 '16'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'd'           Name
 '['           Punctuation
 'i'           Name
 '24'          Literal.Number.Integer
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index c87db35f5f0cf931f23ca4af167591823fa86985..04fe57292f2703f395ba1546b938f92d59f093de 100644 (file)
-'a = '        Name.Variable
+'a'           Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'to'          Keyword
-' '           Text
+' '           Text.Whitespace
 '50'          Literal.Number.Integer
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'const'       Keyword
-' '           Text
-'b = '        Name.Variable
+' '           Text.Whitespace
+'b'           Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 '-->'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'til'         Keyword
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword
-' '           Text
-'c = '        Name.Variable
+' '           Text.Whitespace
+'c'           Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 '~~>'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '10_'         Literal.Number.Integer
 '000_'        Literal.Number.Integer
 '000km'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '500ms'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '16~ff'       Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '/'           Operator
-' '           Text
+' '           Text.Whitespace
 '32~lol'      Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'e = '        Name.Variable
+'e'           Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 '(a) ->'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '(b) ~>'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '(c) -->'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '(d, e) ~~>'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '<[list of words]>' Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'dashes-identifiers = ' Name.Variable
+'dashes-identifiers' Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '-'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'a-'          Name.Other
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 'a'           Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
-'underscores_i$d = ' Name.Variable
+'underscores_i$d' Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 '->'          Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '/'           Operator
 'regexp1'     Name.Other
 '/'           Operator
-'\n  '        Text
+'\n  '        Text.Whitespace
 '/'           Operator
 '/regexp2/'   Literal.String.Regex
 '/'           Operator
 'g'           Name.Other
-'\n  '        Text
+'\n  '        Text.Whitespace
 "'"           Literal.String
 'strings'     Literal.String
 "'"           Literal.String
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'strings'     Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '\\strings'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'and'         Operator
-' '           Text
+' '           Text.Whitespace
 '\\#$-"\\\'strings' Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'another-word-list = ' Name.Variable
+'another-word-list' Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 '<[ more words ]>' Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '['           Punctuation
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'til'         Keyword
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'map'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'filter'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'fold'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Operator
 ')'           Punctuation
-'\n\n'        Text
-
-'obj =\n'     Name.Variable
+'\n\n'        Text.Whitespace
 
-'  '          Text
-'prop1: '     Name.Variable
+'obj'         Name.Variable
+' '           Text.Whitespace
+'='           Operator
+'\n  '        Text.Whitespace
+'prop1'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n  '        Text
-'prop2: '     Name.Variable
+'\n  '        Text.Whitespace
+'prop2'       Name.Variable
+':'           Operator
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Class'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Anc-est-or'  Name.Other
-'\n  '        Text
+'\n  '        Text.Whitespace
 '(args) ->'   Name.Function
-'\n    '      Text
+'\n    '      Text.Whitespace
 '<-'          Name.Function
-' '           Text
-'# Comment\n' Comment.Single
+' '           Text.Whitespace
+'# Comment'   Comment.Single
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 '<~'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '/* Comment */' Comment.Multiline
-'\n    '      Text
+'\n    '      Text.Whitespace
 'void'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'undefined'   Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'yes'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'no'          Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'on'          Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'off'         Keyword.Constant
-'\n    '      Text
+'\n    '      Text.Whitespace
 'a'           Name.Other
 '.'           Punctuation
 'void'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
 '.'           Punctuation
 'undefined'   Name.Other
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Other
 '.'           Punctuation
 'off'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Other
 '.'           Punctuation
 'if'          Name.Other
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Other
 '.'           Punctuation
 'no'          Name.Other
-' '           Text
+' '           Text.Whitespace
 'g'           Name.Other
 '.'           Punctuation
 'not'         Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 'avoid'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'bundefined'  Name.Other
-' '           Text
+' '           Text.Whitespace
 'coff'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'dif'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'fno'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'gnot'        Name.Other
-'\n    '      Text
+'\n    '      Text.Whitespace
 '"'           Literal.String
 'inter '      Literal.String
 '#{'          Literal.String.Interpol
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 '}'           Literal.String.Interpol
 ' '           Literal.String
 '#'           Literal.String
 'variable'    Literal.String
 '"'           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 "'''"         Literal.String
 'HELLO '      Literal.String
 "'"           Literal.String
 "'"           Literal.String
 ' '           Literal.String
 "'''"         Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
-'copy = '     Name.Variable
+'copy'        Name.Variable
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 '(from, to, callback) -->' Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'error, data <-' Name.Function
-' '           Text
+' '           Text.Whitespace
 'read'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Other
-'\n  '        Text
+'\n  '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'error'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'error'       Name.Other
 '?'           Operator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'error <~'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'write'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Other
-'\n  '        Text
+'\n  '        Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'error'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'error'       Name.Other
 '?'           Operator
-'\n  '        Text
+'\n  '        Text.Whitespace
 'callback'    Name.Other
 '('           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'take'        Name.Other
 '('           Punctuation
 'n'           Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'x'           Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
 ':'           Operator
 'list'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '<='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'     '       Text
+'     '       Text.Whitespace
 '='           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'empty'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'list'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'otherwise'   Name.Other
-'  '          Text
+'  '          Text.Whitespace
 '='           Operator
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'x'           Name.Other
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '++'          Operator
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'take'        Name.Other
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'xs'          Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/macaulay2/test.m2 b/tests/examplefiles/macaulay2/test.m2
new file mode 100644 (file)
index 0000000..3bf0cf2
--- /dev/null
@@ -0,0 +1,23 @@
+"this is a string"
+
+"this is how we \"escape quotes\" in a string"
+
+"this is how " | "we concatenate strings"
+
+///this is also
+a string///
+
+///to escape forward slashes (/) in a string, we
+use an even number in the middle //// or an odd number
+(at least 3) at the end///
+
+-- this is a comment
+
+-* this is
+also a comment *-
+
+-* two comments *- 2 + 2 -* on the same line *-
+
+for i from 0 to 10 do print QQ
+
+end
diff --git a/tests/examplefiles/macaulay2/test.m2.output b/tests/examplefiles/macaulay2/test.m2.output
new file mode 100644 (file)
index 0000000..1042273
--- /dev/null
@@ -0,0 +1,84 @@
+'"'           Literal.String
+'this is a string' Literal.String
+'"'           Literal.String
+'\n\n'        Text.Whitespace
+
+'"'           Literal.String
+'this is how we ' Literal.String
+'\\"'         Literal.String
+'escape quotes' Literal.String
+'\\"'         Literal.String
+' in a string' Literal.String
+'"'           Literal.String
+'\n\n'        Text.Whitespace
+
+'"'           Literal.String
+'this is how ' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
+'|'           Text
+' '           Text.Whitespace
+'"'           Literal.String
+'we concatenate strings' Literal.String
+'"'           Literal.String
+'\n\n'        Text.Whitespace
+
+'///'         Literal.String
+'this is also\na string' Literal.String
+'///'         Literal.String
+'\n\n'        Text.Whitespace
+
+'///'         Literal.String
+'to escape forward slashes (' Literal.String
+'/'           Literal.String
+') in a string, we\nuse an even number in the middle ' Literal.String
+'////'        Literal.String
+' or an odd number\n(at least 3) at the end' Literal.String
+'///'         Literal.String
+'\n\n'        Text.Whitespace
+
+'-- this is a comment' Comment.Single
+'\n\n'        Text.Whitespace
+
+'-*'          Comment.Multiline
+' this is\nalso a comment ' Comment.Multiline
+'*-'          Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'-*'          Comment.Multiline
+' two comments ' Comment.Multiline
+'*-'          Comment.Multiline
+' '           Text.Whitespace
+'2'           Text
+' '           Text.Whitespace
+'+'           Text
+' '           Text.Whitespace
+'2'           Text
+' '           Text.Whitespace
+'-*'          Comment.Multiline
+' on the same line ' Comment.Multiline
+'*-'          Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'for'         Keyword
+' '           Text.Whitespace
+'i'           Text
+' '           Text.Whitespace
+'from'        Keyword
+' '           Text.Whitespace
+'0'           Text
+' '           Text.Whitespace
+'to'          Keyword
+' '           Text.Whitespace
+'1'           Text
+'0'           Text
+' '           Text.Whitespace
+'do'          Keyword
+' '           Text.Whitespace
+'print'       Name.Function
+' '           Text.Whitespace
+'QQ'          Name.Builtin
+'\n\n'        Text.Whitespace
+
+'end'         Name.Constant
+'\n'          Text.Whitespace
index a897f73fe5fc27310878c6ad19f41b05a7ab65fe..a60a2ce7cf5e0dc6c43c751324ce8b70971ccae7 100644 (file)
@@ -1,4 +1,5 @@
-'// comment\n' Comment.Single
+'// comment'  Comment.Single
+'\n'          Text.Whitespace
 
 'h4'          Name.Tag
 '.'           Name.Variable.Class
 'class-2'     Name.Variable.Class
 '.'           Name.Variable.Class
 'other'       Name.Variable.Class
-' '           Text
-'checked='    Name.Attribute
+' '           Text.Whitespace
+'checked'     Name.Attribute
+'='           Operator
 "'"           Literal.String
 't'           Literal.String.Single
 'r'           Literal.String.Single
 'u'           Literal.String.Single
 'e'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 'disabled'    Name.Attribute
-' '           Text
-'name ='      Name.Attribute
-' '           Text
+' '           Text.Whitespace
+'name'        Name.Attribute
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'param'       Name.Attribute
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 'E'           Literal.String.Single
 'n'           Literal.String.Single
 '.'           Literal.String.Single
 '.'           Literal.String.Single
 "'"           Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 'input'       Name.Tag
-' '           Text
-'placeholder=' Name.Attribute
+' '           Text.Whitespace
+'placeholder' Name.Attribute
+'='           Operator
 'Password'    Name.Variable
-' '           Text
-'type='       Name.Attribute
+' '           Text.Whitespace
+'type'        Name.Attribute
+'='           Operator
 'password'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ':dualbind'   Name.Class
-' '           Text
-'x-signal='   Name.Attribute
+' '           Text.Whitespace
+'x-signal'    Name.Attribute
+'='           Operator
 "'"           Literal.String
 'd'           Literal.String.Single
 'o'           Literal.String.Single
 't'           Literal.String.Single
 'e'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
-'value='      Name.Attribute
+' '           Text.Whitespace
+'value'       Name.Attribute
+'='           Operator
 'user'        Name.Variable
 '.'           Name.Variable.Class
 'passord'     Name.Variable.Class
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%'           Name.Class
-' '           Text
-'each='       Name.Attribute
+' '           Text.Whitespace
+'each'        Name.Attribute
+'='           Operator
 "'"           Literal.String
 'f'           Literal.String.Single
 'l'           Literal.String.Single
 'r'           Literal.String.Single
 's'           Literal.String.Single
 "'"           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-' \n    '     Text
+' \n    '     Text.Whitespace
 'div'         Name.Tag
-' '           Text
-'style='      Name.Attribute
+' '           Text.Whitespace
+'style'       Name.Attribute
+'='           Operator
 "'"           Literal.String.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 'position:'   Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'absolute'    Name.Entity
 ';'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'display:'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'inline-block' Name.Entity
 ';'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'background:' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'url("image.png") center center no-repeat' Name.Entity
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '#skippedDiv' Name.Function
 '.'           Name.Variable.Class
 'other'       Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'img'         Name.Tag
-' '           Text
-'src='        Name.Attribute
+' '           Text.Whitespace
+'src'         Name.Attribute
+'='           Operator
 "'"           Literal.String
 '~['          Literal.String.Interpol
 'url'         Literal.String.Interpol
 ']'           Literal.String.Interpol
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'div'         Name.Tag
-' '           Text
-'style='      Name.Attribute
+' '           Text.Whitespace
+'style'       Name.Attribute
+'='           Operator
 '"'           Literal.String.Single
 'text-align:' Name.Builtin
 'center'      Name.Entity
 ';'           Punctuation
 '"'           Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Literal.String
 '~['          Literal.String.Interpol
 ':'           Literal.String.Interpol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '$obj'        Name.Other
 '.'           Punctuation
 'foo'         Name.Other
 '('           Punctuation
 '"username"'  Literal.String.Double
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Float
 ']'           Literal.String.Interpol
 "'"           Literal.String.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '"'           Literal.String
 '~['          Literal.String.Interpol
-'Localize:'   Name.Other
+'Localize'    Name.Other
+':'           Punctuation
 ' stringId'   Literal.String.Interpol
 ']'           Literal.String.Interpol
 '"'           Literal.String.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 'p'           Name.Tag
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"""'         Literal.String
 '\n'          Literal.String.Single
 
 ' '           Literal.String.Single
 ' '           Literal.String.Single
 '"""'         Literal.String.Single
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 'p'           Name.Tag
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 '\n'          Literal.String.Single
 
 ' '           Literal.String.Single
 ' '           Literal.String.Single
 "'"           Literal.String.Single
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 'p'           Name.Tag
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'H'           Literal.String.Single
 'e'           Literal.String.Single
 'd'           Literal.String.Single
 "'"           Literal.String.Single
 '"'           Literal.String.Single
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 ':customComponent' Name.Class
-' '           Text
-'x-value='    Name.Attribute
+' '           Text.Whitespace
+'x-value'     Name.Attribute
+'='           Operator
 "'"           Literal.String
 't'           Literal.String.Single
 't'           Literal.String.Single
 "'"           Literal.String.Single
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 "/* footer > '(c) 2014' */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '.skippedDiv' Name.Variable.Class
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'span'        Name.Tag
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '#skipped'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'table'       Name.Tag
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 'td'          Name.Tag
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 'tr'          Name.Tag
-' '           Text
+' '           Text.Whitespace
 '>'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String
 ';'           Literal.String.Single
 ')'           Literal.String.Single
 "'"           Literal.String.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'br'          Name.Tag
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/mcfunction/main.mcfunction b/tests/examplefiles/mcfunction/main.mcfunction
new file mode 100644 (file)
index 0000000..47109ff
--- /dev/null
@@ -0,0 +1,180 @@
+# This example file is borrowed from https://github.com/Arcensoth/language-mcfunction/blob/main/tests/everything.mcfunction
+
+#> Raycasting
+#
+# Casts a ray from starting position along a configurable number
+# of blocks with a confugrable accuracy, counting the number of
+# entities hit by the ray along the way.
+#
+# @params
+#   $mypack.raycast.distance param
+#       The number of blocks to cast forward.
+#   $mypack.raycast.precision param
+#       The ratio of block precision to a full block.
+#
+# @returns
+#   $mypack.raycast.result return
+#       The number of entities hit by the ray.
+
+function #mypack:hooks/raycast/begin
+
+function mypack:raycast/loop
+
+function #mypack:hooks/raycast/end
+
+# this is a comment
+say hello world
+
+    # indented comment
+    say hello indent
+
+effect give @s minecraft:night_vision 999999 1 true
+effect give @s minecraft:night_vision 999999 1 false
+
+teleport 1 2 3
+teleport 100.5 80 -100.5
+
+execute if score @a temp matches 10.. run
+execute if score @a temp matches ..20 run
+execute if score @a temp matches 10..20 run
+
+execute positioned 10 ~ -10 run
+execute positioned 10 ~10 -10 run
+execute positioned 10 ~0.5 -10 run
+execute positioned 10 ~.5 -10 run
+execute positioned 10 ~-10 -10 run
+execute positioned 10 ~-0.5 -10 run
+execute positioned 10 ~-.5 -10 run
+
+execute positioned 10 ^ -10 run
+execute positioned 10 ^10 -10 run
+execute positioned 10 ^0.5 -10 run
+execute positioned 10 ^.5 -10 run
+execute positioned 10 ^-10 -10 run
+execute positioned 10 ^-0.5 -10 run
+execute positioned 10 ^-.5 -10 run
+
+function mypack:foo
+function mypack:foo/bar
+function mypack:foo/bar/baz
+function #mypack:foo
+function #mypack:foo/bar
+function #mypack:foo/bar/baz
+
+execute if block ~ ~ ~ minecraft:oak_log[axis=x] run
+execute if block ~ ~ ~ minecraft:oak_leaves[distance=5] run
+execute if block ~ ~ ~ minecraft:oak_leaves[persistent=true] run
+execute if block ~ ~ ~ minecraft:oak_leaves[persistent=false] run
+execute if block ~ ~ ~ minecraft:oak_leaves[distance=5,persistent=true] run
+execute if block ~ ~ ~ #minecraft:leaves[distance=5] run
+execute if block ~ ~ ~ #minecraft:leaves[distance=5,persistent=true] run
+setblock ~ ~ ~ mypack:foo{foo:bar} destroy
+setblock ~ ~ ~ mypack:foo{foo: bar} destroy
+setblock ~ ~ ~ mypack:foo[facing=up]{foo: bar} destroy
+setblock ~ ~ ~ mypack:foo[facing = up]{foo: bar} destroy
+setblock ~ ~ ~ minecraft:dispenser[facing=up]{Items: [{id: "minecraft:diamond", Count: 1}]}
+
+tag @s add my.tag
+
+datapack enable "hello world"
+datapack enable "escape \" me"
+datapack enable 'hello world'
+datapack enable 'escape \' me'
+
+execute as f7a39418-72ca-4bf2-bc7e-ba9df67a4707 run
+execute as 0-0-0-0-0 run
+
+execute store result score #fakeplayer
+execute store result score #fake.player
+execute store result score #fake_player
+execute store result score $fakeplayer
+execute store result score %fakeplayer
+
+execute as @b
+execute as @a
+
+execute as @a[tag=foo]
+execute as @a[tag=!foo]
+
+execute as @a[sort=nearest] run
+execute as @a[gamemode=survival] run
+execute as @a[gamemode=!creative] run
+execute as @a[tag=foo,tag=bar,tag=!baz] run
+
+execute as @a[distance=15]
+execute as @a[distance=1.5]
+execute as @a[distance=.5]
+execute as @a[distance=-.25]
+
+execute as @a[distance=100]
+execute as @a[distance=..10]
+execute as @a[distance=11..19]
+execute as @a[distance=20..]
+execute as @a[distance=0.5]
+execute as @a[distance=..0.1]
+execute as @a[distance=0.2..0.8]
+execute as @a[distance=0.9..]
+
+execute as @a[type=minecraft:bat] run
+execute as @a[type=!minecraft:cow,type=!minecraft:pig] run
+execute as @a[type=#minecraft:skeletons] run
+execute as @a[type=!#minecraft:skeletons,type=!minecraft:zombie] run
+
+execute as @a[tag=my.tag] run
+
+execute as @a[name="hello world"] as @s run
+execute as @a[name="escape \" me"] as @s run
+execute as @a[name="how, about, commas ?"] as @s run
+execute as @a[name="and [braces] ?"] as @s run
+
+execute as @e[nbt={ PortalCooldown: 0 }] run
+execute as @e[nbt={ Item: {id: "minecraft:diamond", Count: 64 } }] run
+
+execute if score @s foo < @s bar run
+execute if score @s foo <= @s bar run
+execute if score @s foo = @s bar run
+execute if score @s foo > @s bar run
+execute if score @s foo >= @s bar run
+
+data get entity @s SelectedItem.tag.display.Name
+data get entity @s Inventory[0]
+data get entity @s Inventory[{id: "minecraft:diamond"}].Count
+data get entity @s Inventory[].tag{custom: true}.display.Name
+
+data merge entity @s { foo: true, bar: 1234 }
+data modify block ~ ~ ~ RecordItem.tag set value { messages: [hi, bye] }
+data modify block ~ ~ ~ RecordItem.tag.messages append value [ { message: "hello world" } ]
+
+tellraw @a {"text": "hello world", "color": "blue"}
+tellraw @a [{"text": "hello", "color": "blue"}, {"text": "world", "color": "blue"}]
+
+execute as @a[scores={myscore=10}] run
+execute as @a[scores={myscore=10..12}] run
+execute as @a[scores={foo=10, bar=1..5, baz=..0}] run
+
+execute as @a[advancements={minecraft:story/form_obsidian=true}] run
+execute as @a[advancements={minecraft:story/obtain_armor={iron_helmet=true}}] run
+execute as @a[advancements={minecraft:story/obtain_armor={iron_helmet=true, gold_helmet=false}}] run
+execute as @a[advancements={minecraft:story/form_obsidian=true, minecraft:story/follow_ender_eye=true}] run
+execute as @a[advancements={minecraft:story/form_obsidian={foo=true, bar=false},minecraft:story/follow_ender_eye={foo=false, bar=true}}] run
+
+give @s diamond_sword{display: {Name: '"My Custom Sword"'}}
+give @s minecraft:diamond_sword{display: {Name: '"My Custom Sword"'}}
+
+execute if score @s foo < @s bar run say execute if score @s foo < @s bar run say
+execute if score @s foo < @s bar run say hello @e[tag=baz, sort=nearest, limit=1] how are you?
+
+execute
+    as @a                               # For each "player",
+    at @s                               # start at their feet.
+    anchored eyes                       # Looking through their eyes,
+    facing 0 0 0                        # face perfectly at the target
+    anchored feet                       # (go back to the feet)
+    positioned ^ ^ ^1                   # and move one block forward.
+    rotated as @s                       # Face the direction the player
+                                           # is actually facing,
+    positioned ^ ^ ^-1                  # and move one block back.
+    if entity @s[distance=..0.6]        # Check if we're close to the
+                                           # player's feet.
+    run
+        say "I'm facing the target!"
diff --git a/tests/examplefiles/mcfunction/main.mcfunction.output b/tests/examplefiles/mcfunction/main.mcfunction.output
new file mode 100644 (file)
index 0000000..5b5b8c4
--- /dev/null
@@ -0,0 +1,2052 @@
+'# This example file is borrowed from https://github.com/Arcensoth/language-mcfunction/blob/main/tests/everything.mcfunction' Comment.Single
+'\n\n'        Text.Whitespace
+
+'#>'          Comment.Multiline
+' '           Text.Whitespace
+'Raycasting'  Literal.String.Doc
+'\n'          Text
+
+'#'           Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+' '           Text.Whitespace
+'Casts'       Comment.Multiline
+' '           Text.Whitespace
+'a'           Comment.Multiline
+' '           Text.Whitespace
+'ray'         Comment.Multiline
+' '           Text.Whitespace
+'from'        Comment.Multiline
+' '           Text.Whitespace
+'starting'    Comment.Multiline
+' '           Text.Whitespace
+'position'    Comment.Multiline
+' '           Text.Whitespace
+'along'       Comment.Multiline
+' '           Text.Whitespace
+'a'           Comment.Multiline
+' '           Text.Whitespace
+'configurable' Comment.Multiline
+' '           Text.Whitespace
+'number'      Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+' '           Text.Whitespace
+'of'          Comment.Multiline
+' '           Text.Whitespace
+'blocks'      Comment.Multiline
+' '           Text.Whitespace
+'with'        Comment.Multiline
+' '           Text.Whitespace
+'a'           Comment.Multiline
+' '           Text.Whitespace
+'confugrable' Comment.Multiline
+' '           Text.Whitespace
+'accuracy,'   Comment.Multiline
+' '           Text.Whitespace
+'counting'    Comment.Multiline
+' '           Text.Whitespace
+'the'         Comment.Multiline
+' '           Text.Whitespace
+'number'      Comment.Multiline
+' '           Text.Whitespace
+'of'          Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+' '           Text.Whitespace
+'entities'    Comment.Multiline
+' '           Text.Whitespace
+'hit'         Comment.Multiline
+' '           Text.Whitespace
+'by'          Comment.Multiline
+' '           Text.Whitespace
+'the'         Comment.Multiline
+' '           Text.Whitespace
+'ray'         Comment.Multiline
+' '           Text.Whitespace
+'along'       Comment.Multiline
+' '           Text.Whitespace
+'the'         Comment.Multiline
+' '           Text.Whitespace
+'way.'        Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+' '           Text.Whitespace
+'@params'     Name.Decorator
+'\n'          Text
+
+'#'           Comment.Multiline
+'   '         Text.Whitespace
+'$mypack.raycast.distance' Name.Variable.Magic
+' '           Text.Whitespace
+'param'       Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+'       '     Text.Whitespace
+'The'         Comment.Multiline
+' '           Text.Whitespace
+'number'      Comment.Multiline
+' '           Text.Whitespace
+'of'          Comment.Multiline
+' '           Text.Whitespace
+'blocks'      Comment.Multiline
+' '           Text.Whitespace
+'to'          Comment.Multiline
+' '           Text.Whitespace
+'cast'        Comment.Multiline
+' '           Text.Whitespace
+'forward.'    Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+'   '         Text.Whitespace
+'$mypack.raycast.precision' Name.Variable.Magic
+' '           Text.Whitespace
+'param'       Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+'       '     Text.Whitespace
+'The'         Comment.Multiline
+' '           Text.Whitespace
+'ratio'       Comment.Multiline
+' '           Text.Whitespace
+'of'          Comment.Multiline
+' '           Text.Whitespace
+'block'       Comment.Multiline
+' '           Text.Whitespace
+'precision'   Comment.Multiline
+' '           Text.Whitespace
+'to'          Comment.Multiline
+' '           Text.Whitespace
+'a'           Comment.Multiline
+' '           Text.Whitespace
+'full'        Comment.Multiline
+' '           Text.Whitespace
+'block.'      Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+' '           Text.Whitespace
+'@returns'    Name.Decorator
+'\n'          Text
+
+'#'           Comment.Multiline
+'   '         Text.Whitespace
+'$mypack.raycast.result' Name.Variable.Magic
+' '           Text.Whitespace
+'return'      Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+'       '     Text.Whitespace
+'The'         Comment.Multiline
+' '           Text.Whitespace
+'number'      Comment.Multiline
+' '           Text.Whitespace
+'of'          Comment.Multiline
+' '           Text.Whitespace
+'entities'    Comment.Multiline
+' '           Text.Whitespace
+'hit'         Comment.Multiline
+' '           Text.Whitespace
+'by'          Comment.Multiline
+' '           Text.Whitespace
+'the'         Comment.Multiline
+' '           Text.Whitespace
+'ray.'        Comment.Multiline
+'\n'          Text
+
+'\n'          Text.Whitespace
+
+'function'    Name.Builtin
+' '           Text.Whitespace
+'#mypack:hooks/raycast/begin' Name.Function
+'\n\n'        Text.Whitespace
+
+'function'    Name.Builtin
+' '           Text.Whitespace
+'mypack:raycast/loop' Name.Function
+'\n\n'        Text.Whitespace
+
+'function'    Name.Builtin
+' '           Text.Whitespace
+'#mypack:hooks/raycast/end' Name.Function
+'\n\n'        Text.Whitespace
+
+'# this is a comment' Comment.Single
+'\n'          Text.Whitespace
+
+'say'         Name.Builtin
+' '           Text.Whitespace
+'hello'       Keyword.Constant
+' '           Text.Whitespace
+'world'       Keyword.Constant
+'\n\n    '    Text.Whitespace
+'# indented comment' Comment.Single
+'\n    '      Text.Whitespace
+'say'         Keyword.Constant
+' '           Text.Whitespace
+'hello'       Keyword.Constant
+' '           Text.Whitespace
+'indent'      Keyword.Constant
+'\n\n'        Text.Whitespace
+
+'effect'      Name.Builtin
+' '           Text.Whitespace
+'give'        Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'minecraft:night_vision' Name.Function
+' '           Text.Whitespace
+'999999'      Literal.Number.Float
+' '           Text.Whitespace
+'1'           Literal.Number.Float
+' '           Text.Whitespace
+'true'        Keyword.Constant
+'\n'          Text.Whitespace
+
+'effect'      Name.Builtin
+' '           Text.Whitespace
+'give'        Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'minecraft:night_vision' Name.Function
+' '           Text.Whitespace
+'999999'      Literal.Number.Float
+' '           Text.Whitespace
+'1'           Literal.Number.Float
+' '           Text.Whitespace
+'false'       Keyword.Constant
+'\n\n'        Text.Whitespace
+
+'teleport'    Name.Builtin
+' '           Text.Whitespace
+'1'           Literal.Number.Float
+' '           Text.Whitespace
+'2'           Literal.Number.Float
+' '           Text.Whitespace
+'3'           Literal.Number.Float
+'\n'          Text.Whitespace
+
+'teleport'    Name.Builtin
+' '           Text.Whitespace
+'100.5'       Literal.Number.Float
+' '           Text.Whitespace
+'80'          Literal.Number.Float
+' '           Text.Whitespace
+'-100.5'      Literal.Number.Float
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+' '           Text.Whitespace
+'temp'        Keyword.Constant
+' '           Text.Whitespace
+'matches'     Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+'..'          Literal
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+' '           Text.Whitespace
+'temp'        Keyword.Constant
+' '           Text.Whitespace
+'matches'     Keyword.Constant
+' '           Text.Whitespace
+'..'          Literal
+'20'          Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+' '           Text.Whitespace
+'temp'        Keyword.Constant
+' '           Text.Whitespace
+'matches'     Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+'..'          Literal
+'20'          Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'0.5'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'.5'          Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'-0.5'        Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'-.5'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'0.5'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'.5'          Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'-0.5'        Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'-.5'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nfunction' Name.Builtin
+' '           Text.Whitespace
+'mypack:foo'  Name.Function
+'\n'          Text.Whitespace
+
+'function'    Name.Builtin
+' '           Text.Whitespace
+'mypack:foo/bar' Name.Function
+'\n'          Text.Whitespace
+
+'function'    Name.Builtin
+' '           Text.Whitespace
+'mypack:foo/bar/baz' Name.Function
+'\n'          Text.Whitespace
+
+'function'    Name.Builtin
+' '           Text.Whitespace
+'#mypack:foo' Name.Function
+'\n'          Text.Whitespace
+
+'function'    Name.Builtin
+' '           Text.Whitespace
+'#mypack:foo/bar' Name.Function
+'\n'          Text.Whitespace
+
+'function'    Name.Builtin
+' '           Text.Whitespace
+'#mypack:foo/bar/baz' Name.Function
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'minecraft:oak_log' Name.Function
+'['           Punctuation
+'axis'        Name.Attribute
+'='           Punctuation
+'x'           Name.Variable.Class
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'minecraft:oak_leaves' Name.Function
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'5'           Literal.Number.Float
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'minecraft:oak_leaves' Name.Function
+'['           Punctuation
+'persistent'  Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'minecraft:oak_leaves' Name.Function
+'['           Punctuation
+'persistent'  Name.Attribute
+'='           Punctuation
+'false'       Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'minecraft:oak_leaves' Name.Function
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'5'           Literal.Number.Float
+','           Punctuation
+'persistent'  Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'#minecraft:leaves' Name.Function
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'5'           Literal.Number.Float
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'#minecraft:leaves' Name.Function
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'5'           Literal.Number.Float
+','           Punctuation
+'persistent'  Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nsetblock'  Name.Builtin
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'mypack:foo'  Name.Function
+'{'           Punctuation
+'foo'         Name.Attribute
+':'           Punctuation
+'bar'         Name.Tag
+'}'           Punctuation
+' '           Text.Whitespace
+'destroy'     Keyword.Constant
+'\n'          Text.Whitespace
+
+'setblock'    Name.Builtin
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'mypack:foo'  Name.Function
+'{'           Punctuation
+'foo'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Tag
+'}'           Punctuation
+' '           Text.Whitespace
+'destroy'     Keyword.Constant
+'\n'          Text.Whitespace
+
+'setblock'    Name.Builtin
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'mypack:foo'  Name.Function
+'['           Punctuation
+'facing'      Name.Attribute
+'='           Punctuation
+'up'          Name.Tag
+']'           Punctuation
+'{'           Punctuation
+'foo'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Tag
+'}'           Punctuation
+' '           Text.Whitespace
+'destroy'     Keyword.Constant
+'\n'          Text.Whitespace
+
+'setblock'    Name.Builtin
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'mypack:foo'  Name.Function
+'['           Punctuation
+'facing'      Name.Attribute
+' '           Text.Whitespace
+'='           Punctuation
+' '           Text.Whitespace
+'up'          Name.Tag
+']'           Punctuation
+'{'           Punctuation
+'foo'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Tag
+'}'           Punctuation
+' '           Text.Whitespace
+'destroy'     Keyword.Constant
+'\n'          Text.Whitespace
+
+'setblock'    Name.Builtin
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'minecraft:dispenser' Name.Function
+'['           Punctuation
+'facing'      Name.Attribute
+'='           Punctuation
+'up'          Name.Tag
+']'           Punctuation
+'{'           Punctuation
+'Items'       Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'{'           Punctuation
+'id'          Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'minecraft:diamond' Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'Count'       Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'1'           Literal.Number.Float
+'}'           Punctuation
+']'           Punctuation
+'}'           Punctuation
+'\n\n'        Text.Whitespace
+
+'tag'         Name.Builtin
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'add'         Keyword.Constant
+' '           Text.Whitespace
+'my.tag'      Keyword.Constant
+'\n\n'        Text.Whitespace
+
+'datapack'    Name.Builtin
+' '           Text.Whitespace
+'enable'      Keyword.Constant
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'hello world' Literal.String.Double
+'"'           Literal.String.Double
+'\n'          Text.Whitespace
+
+'datapack'    Name.Builtin
+' '           Text.Whitespace
+'enable'      Keyword.Constant
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'escape '     Literal.String.Double
+'\\"'         Literal.String.Escape
+' me'         Literal.String.Double
+'"'           Literal.String.Double
+'\n'          Text.Whitespace
+
+'datapack'    Name.Builtin
+' '           Text.Whitespace
+'enable'      Keyword.Constant
+' '           Text.Whitespace
+"'"           Literal.String.Single
+'hello world' Literal.String.Single
+"'"           Literal.String.Single
+'\n'          Text.Whitespace
+
+'datapack'    Name.Builtin
+' '           Text.Whitespace
+'enable'      Keyword.Constant
+' '           Text.Whitespace
+"'"           Literal.String.Single
+'escape '     Literal.String.Single
+"\\'"         Literal.String.Escape
+' me'         Literal.String.Single
+"'"           Literal.String.Single
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'f7a39418-72ca-4bf2-bc7e-ba9df67a4707' Name.Variable
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'0-0-0-0-0'   Name.Variable
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'store'       Keyword.Constant
+' '           Text.Whitespace
+'result'      Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'#fakeplayer' Name.Variable.Magic
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'store'       Keyword.Constant
+' '           Text.Whitespace
+'result'      Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'#fake.player' Name.Variable.Magic
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'store'       Keyword.Constant
+' '           Text.Whitespace
+'result'      Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'#fake_player' Name.Variable.Magic
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'store'       Keyword.Constant
+' '           Text.Whitespace
+'result'      Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'$fakeplayer' Name.Variable.Magic
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'store'       Keyword.Constant
+' '           Text.Whitespace
+'result'      Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'%fakeplayer' Name.Variable.Magic
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@b'          Name.Variable
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'tag'         Name.Attribute
+'='           Punctuation
+'foo'         Name.Tag
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'tag'         Name.Attribute
+'=!'          Punctuation
+'foo'         Name.Tag
+']'           Punctuation
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'sort'        Name.Attribute
+'='           Punctuation
+'nearest'     Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'gamemode'    Name.Attribute
+'='           Punctuation
+'survival'    Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'gamemode'    Name.Attribute
+'=!'          Punctuation
+'creative'    Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'tag'         Name.Attribute
+'='           Punctuation
+'foo'         Name.Tag
+','           Punctuation
+'tag'         Name.Attribute
+'='           Punctuation
+'bar'         Name.Tag
+','           Punctuation
+'tag'         Name.Attribute
+'=!'          Punctuation
+'baz'         Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'15'          Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'1.5'         Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'.5'          Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'-.25'        Literal.Number.Float
+']'           Punctuation
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'100'         Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'..'          Literal
+'10'          Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'11'          Literal.Number.Float
+'..'          Literal
+'19'          Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'20'          Literal.Number.Float
+'..'          Literal
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'0.5'         Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'..'          Literal
+'0.1'         Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'0.2'         Literal.Number.Float
+'..'          Literal
+'0.8'         Literal.Number.Float
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'0.9'         Literal.Number.Float
+'..'          Literal
+']'           Punctuation
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'type'        Name.Attribute
+'='           Punctuation
+'minecraft:bat' Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'type'        Name.Attribute
+'=!'          Punctuation
+'minecraft:cow' Name.Tag
+','           Punctuation
+'type'        Name.Attribute
+'=!'          Punctuation
+'minecraft:pig' Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'type'        Name.Attribute
+'='           Punctuation
+'#minecraft:skeletons' Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'type'        Name.Attribute
+'=!'          Punctuation
+'#minecraft:skeletons' Name.Tag
+','           Punctuation
+'type'        Name.Attribute
+'=!'          Punctuation
+'minecraft:zombie' Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'tag'         Name.Attribute
+'='           Punctuation
+'my.tag'      Name.Tag
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'name'        Name.Attribute
+'='           Punctuation
+'"'           Literal.String.Double
+'hello world' Literal.String.Double
+'"'           Literal.String.Double
+']'           Punctuation
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'name'        Name.Attribute
+'='           Punctuation
+'"'           Literal.String.Double
+'escape '     Literal.String.Double
+'\\"'         Literal.String.Escape
+' me'         Literal.String.Double
+'"'           Literal.String.Double
+']'           Punctuation
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'name'        Name.Attribute
+'='           Punctuation
+'"'           Literal.String.Double
+'how, about, commas ?' Literal.String.Double
+'"'           Literal.String.Double
+']'           Punctuation
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'name'        Name.Attribute
+'='           Punctuation
+'"'           Literal.String.Double
+'and [braces] ?' Literal.String.Double
+'"'           Literal.String.Double
+']'           Punctuation
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@e'          Name.Variable
+'['           Punctuation
+'nbt'         Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+' '           Text.Whitespace
+'PortalCooldown' Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'0'           Literal.Number.Float
+' '           Text.Whitespace
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@e'          Name.Variable
+'['           Punctuation
+'nbt'         Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+' '           Text.Whitespace
+'Item'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'id'          Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'minecraft:diamond' Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'Count'       Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'64'          Literal.Number.Float
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'foo'         Keyword.Constant
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'bar'         Keyword.Constant
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'foo'         Keyword.Constant
+' '           Text.Whitespace
+'<'           Operator
+'='           Operator
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'bar'         Keyword.Constant
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'foo'         Keyword.Constant
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'bar'         Keyword.Constant
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'foo'         Keyword.Constant
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'bar'         Keyword.Constant
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'foo'         Keyword.Constant
+' '           Text.Whitespace
+'>'           Operator
+'='           Operator
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'bar'         Keyword.Constant
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\ndata'    Name.Builtin
+' '           Text.Whitespace
+'get'         Keyword.Constant
+' '           Text.Whitespace
+'entity'      Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'SelectedItem.tag.display.Name' Keyword.Constant
+'\n'          Text.Whitespace
+
+'data'        Name.Builtin
+' '           Text.Whitespace
+'get'         Keyword.Constant
+' '           Text.Whitespace
+'entity'      Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'Inventory'   Keyword.Constant
+'['           Punctuation
+'0'           Literal.Number.Integer
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'data'        Name.Builtin
+' '           Text.Whitespace
+'get'         Keyword.Constant
+' '           Text.Whitespace
+'entity'      Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'Inventory'   Keyword.Constant
+'['           Punctuation
+'{'           Punctuation
+'id'          Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'minecraft:diamond' Literal.String.Double
+'"'           Literal.String.Double
+'}'           Punctuation
+']'           Punctuation
+'.'           Operator
+'Count'       Keyword.Constant
+'\n'          Text.Whitespace
+
+'data'        Name.Builtin
+' '           Text.Whitespace
+'get'         Keyword.Constant
+' '           Text.Whitespace
+'entity'      Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'Inventory'   Keyword.Constant
+'['           Punctuation
+']'           Punctuation
+'.'           Operator
+'tag'         Keyword.Constant
+'{'           Punctuation
+'custom'      Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'true'        Name.Tag
+'}'           Punctuation
+'.'           Operator
+'display.Name' Keyword.Constant
+'\n\n'        Text.Whitespace
+
+'data'        Name.Builtin
+' '           Text.Whitespace
+'merge'       Keyword.Constant
+' '           Text.Whitespace
+'entity'      Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'foo'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'true'        Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'1234'        Literal.Number.Float
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'data'        Name.Builtin
+' '           Text.Whitespace
+'modify'      Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'RecordItem.tag' Keyword.Constant
+' '           Text.Whitespace
+'set'         Keyword.Constant
+' '           Text.Whitespace
+'value'       Keyword.Constant
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'messages'    Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'hi'          Name.Attribute
+','           Punctuation
+' '           Text.Whitespace
+'bye'         Name.Attribute
+']'           Punctuation
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'data'        Name.Builtin
+' '           Text.Whitespace
+'modify'      Keyword.Constant
+' '           Text.Whitespace
+'block'       Keyword.Constant
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'RecordItem.tag.messages' Keyword.Constant
+' '           Text.Whitespace
+'append'      Keyword.Constant
+' '           Text.Whitespace
+'value'       Keyword.Constant
+' '           Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'message'     Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'hello world' Literal.String.Double
+'"'           Literal.String.Double
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+']'           Punctuation
+'\n\n'        Text.Whitespace
+
+'tellraw'     Name.Builtin
+' '           Text.Whitespace
+'@a'          Name.Variable
+' '           Text.Whitespace
+'{'           Punctuation
+'"'           Name.Attribute
+'text'        Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'hello world' Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'"'           Name.Attribute
+'color'       Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'blue'        Literal.String.Double
+'"'           Literal.String.Double
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'tellraw'     Name.Builtin
+' '           Text.Whitespace
+'@a'          Name.Variable
+' '           Text.Whitespace
+'['           Punctuation
+'{'           Punctuation
+'"'           Name.Attribute
+'text'        Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'hello'       Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'"'           Name.Attribute
+'color'       Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'blue'        Literal.String.Double
+'"'           Literal.String.Double
+'}'           Punctuation
+','           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'"'           Name.Attribute
+'text'        Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'world'       Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'"'           Name.Attribute
+'color'       Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'blue'        Literal.String.Double
+'"'           Literal.String.Double
+'}'           Punctuation
+']'           Punctuation
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'scores'      Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'myscore'     Name.Attribute
+'='           Punctuation
+'10'          Literal.Number.Float
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'scores'      Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'myscore'     Name.Attribute
+'='           Punctuation
+'10'          Literal.Number.Float
+'..'          Literal
+'12'          Literal.Number.Float
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'scores'      Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'foo'         Name.Attribute
+'='           Punctuation
+'10'          Literal.Number.Float
+','           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Attribute
+'='           Punctuation
+'1'           Literal.Number.Float
+'..'          Literal
+'5'           Literal.Number.Float
+','           Punctuation
+' '           Text.Whitespace
+'baz'         Name.Attribute
+'='           Punctuation
+'..'          Literal
+'0'           Literal.Number.Float
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\nexecute' Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'advancements' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'minecraft:story/form_obsidian' Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'advancements' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'minecraft:story/obtain_armor' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'iron_helmet' Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+'}'           Punctuation
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'advancements' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'minecraft:story/obtain_armor' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'iron_helmet' Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'gold_helmet' Name.Attribute
+'='           Punctuation
+'false'       Name.Tag
+'}'           Punctuation
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'advancements' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'minecraft:story/form_obsidian' Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'minecraft:story/follow_ender_eye' Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\nexecute'   Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'advancements' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'minecraft:story/form_obsidian' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'foo'         Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Attribute
+'='           Punctuation
+'false'       Name.Tag
+'}'           Punctuation
+','           Punctuation
+'minecraft:story/follow_ender_eye' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'foo'         Name.Attribute
+'='           Punctuation
+'false'       Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+'}'           Punctuation
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n\ngive'    Name.Builtin
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'diamond_sword' Keyword.Constant
+'{'           Punctuation
+'display'     Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'Name'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+"'"           Literal.String.Single
+'"My Custom Sword"' Literal.String.Single
+"'"           Literal.String.Single
+'}'           Punctuation
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'give'        Name.Builtin
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'minecraft:diamond_sword' Name.Function
+'{'           Punctuation
+'display'     Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'Name'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+"'"           Literal.String.Single
+'"My Custom Sword"' Literal.String.Single
+"'"           Literal.String.Single
+'}'           Punctuation
+'}'           Punctuation
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'foo'         Keyword.Constant
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'bar'         Keyword.Constant
+' '           Text.Whitespace
+'run'         Keyword.Constant
+' say'        Name.Builtin
+' '           Text.Whitespace
+'execute'     Keyword.Constant
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'foo'         Keyword.Constant
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'bar'         Keyword.Constant
+' '           Text.Whitespace
+'run'         Keyword.Constant
+' say'        Name.Builtin
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'score'       Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'foo'         Keyword.Constant
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'bar'         Keyword.Constant
+' '           Text.Whitespace
+'run'         Keyword.Constant
+' say'        Name.Builtin
+' '           Text.Whitespace
+'hello'       Keyword.Constant
+' '           Text.Whitespace
+'@e'          Name.Variable
+'['           Punctuation
+'tag'         Name.Attribute
+'='           Punctuation
+'baz'         Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'sort'        Name.Attribute
+'='           Punctuation
+'nearest'     Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'limit'       Name.Attribute
+'='           Punctuation
+'1'           Literal.Number.Float
+']'           Punctuation
+' '           Text.Whitespace
+'how'         Keyword.Constant
+' '           Text.Whitespace
+'are'         Keyword.Constant
+' '           Text.Whitespace
+'you'         Keyword.Constant
+'?'           Operator
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+'\n    '      Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'                               ' Text.Whitespace
+'# For each "player",' Comment.Single
+'\n    '      Text.Whitespace
+'at'          Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+'                               ' Text.Whitespace
+'# start at their feet.' Comment.Single
+'\n    '      Text.Whitespace
+'anchored'    Keyword.Constant
+' '           Text.Whitespace
+'eyes'        Keyword.Constant
+'                       ' Text.Whitespace
+'# Looking through their eyes,' Comment.Single
+'\n    '      Text.Whitespace
+'facing'      Keyword.Constant
+' '           Text.Whitespace
+'0'           Literal.Number.Float
+' '           Text.Whitespace
+'0'           Literal.Number.Float
+' '           Text.Whitespace
+'0'           Literal.Number.Float
+'                        ' Text.Whitespace
+'# face perfectly at the target' Comment.Single
+'\n    '      Text.Whitespace
+'anchored'    Keyword.Constant
+' '           Text.Whitespace
+'feet'        Keyword.Constant
+'                       ' Text.Whitespace
+'# (go back to the feet)' Comment.Single
+'\n    '      Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'^'           Operator
+'1'           Literal.Number.Float
+'                   ' Text.Whitespace
+'# and move one block forward.' Comment.Single
+'\n    '      Text.Whitespace
+'rotated'     Keyword.Constant
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+'                       ' Text.Whitespace
+'# Face the direction the player' Comment.Single
+'\n                                           ' Text.Whitespace
+'# is actually facing,' Comment.Single
+'\n    '      Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'^'           Operator
+'-1'          Literal.Number.Float
+'                  ' Text.Whitespace
+'# and move one block back.' Comment.Single
+'\n    '      Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'entity'      Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'..'          Literal
+'0.6'         Literal.Number.Float
+']'           Punctuation
+'        '    Text.Whitespace
+"# Check if we're close to the" Comment.Single
+'\n                                           ' Text.Whitespace
+"# player's feet." Comment.Single
+'\n    '      Text.Whitespace
+'run'         Keyword.Constant
+'\n        say' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String.Double
+"I'm facing the target!" Literal.String.Double
+'"'           Literal.String.Double
+'\n'          Text.Whitespace
index f19da9b3e441d29aebe50599d9fdf9afd8cb2ccf..e35799ee9cfc7ad2a92015800856757b0347c1e4 100644 (file)
 '    '        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'T_ACTIVE'    Name.Label
+'T_ACTIVE'    Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '    '        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'T_FAILED1'   Name.Label
+'T_FAILED1'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '    '        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'T_ZOMBIE'    Name.Label
+'T_ZOMBIE'    Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
 '    '        Text.Whitespace
 'case'        Keyword
 ' '           Text.Whitespace
-'T_FAILED2'   Name.Label
+'T_FAILED2'   Name.Constant
 ':'           Punctuation
 '\n'          Text.Whitespace
 
index 2767dfb68f539344de640acfd7d6024760b9e90f..2df28afa367ff29495f21bb249b1c3864c34d30d 100644 (file)
 '#!/usr/bin/env newlisp' Comment.Preproc
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; @module IRC' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @description a basic irc library' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @version early alpha! 0.1 2011-10-31 14:21:26' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @author cormullion' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Usage:'   Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (IRC:init "newlithper") ; a username/nick (not that one obviously :-)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (IRC:connect "irc.freenode.net" 6667) ; irc/server' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (IRC:join-channel {#newlisp}) ; join a room' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; either (IRC:read-irc-loop) ; loop - monitor only, no input' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; or     (IRC:session)       ; a command-line session, end with /QUIT' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'context'     Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'IRC'         Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Iconnected'  Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Icallbacks'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Idle-time'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '400'         Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; seconds'   Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Itime-stamp' Literal.String.Symbol
 ')'           Punctuation
-'   '         Text
+'   '         Text.Whitespace
 '; time since last message was processed' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'register-callback' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'function'    Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'registering callback for ' Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' : '         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sym'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'term'        Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'function'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prefix'      Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'function'    Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sym'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'term'        Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'function'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'prefix'      Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'function'    Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Icallbacks'  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' \n\n'       Text
+' \n\n'       Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'do-callback' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'when'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'func'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Icallbacks'  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; find first callback' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'if-not'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply'       Keyword
-' '           Text
+' '           Text.Whitespace
 'func'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'error'       Literal.String.Symbol
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'error in callback ' Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ': '          Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'error'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rf'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ref-all'     Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Icallbacks'  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'callback'    Keyword
 '-'           Keyword
 'entry'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Icallbacks'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 'rf'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when'        Keyword
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'func'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'entry'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if-not'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply'       Keyword
-' '           Text
+' '           Text.Whitespace
 'func'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'error'       Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'error in callback ' Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'callback'    Keyword
 '-'           Keyword
 'name'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ': '          Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'error'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'init'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'str'         Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Inickname'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'str'         Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Iconnected'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Ichannels'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Itime-stamp' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'time-of-day' Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'connect'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'server'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'port'        Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Iserver'     Literal.String.Symbol
-'     '       Text
+'     '       Text.Whitespace
 '('           Punctuation
 'net-connect' Keyword
-' '           Text
+' '           Text.Whitespace
 'server'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'port'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"USER %s %s %s :%s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"NICK %s \\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Iconnected'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"connect"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"server"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 'server'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"port"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 'port'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'identify'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'password'    Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"PRIVMSG nickserv :identify %s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'password'    Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'join'        Keyword
 '-'           Keyword
 'channel'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'when'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"JOIN %s \\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"join-channel"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"nickname"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'part'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'chan'        Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if-not'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'empty?'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'chan'        Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; leave specified' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"PART %s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'chan'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"part"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; leave all' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'channel'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"PART %s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"part"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'do-quit'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"quit"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; chance to do stuff before quit...' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"QUIT :%s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'sleep'       Keyword
-' '           Text
+' '           Text.Whitespace
 '1000'        Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Ichannels'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'close'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Iconnected'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'privmsg'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'user'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"PRIVMSG %s :%s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'user'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'notice'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'user'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"NOTICE %s :%s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'user'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'send'        Keyword
 '-'           Keyword
 'to-server'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'channel'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'starts-with' Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '/'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; default command character' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'the-message' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"^/"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'copy'        Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; keep original' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"%s \\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'the-message' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; send it'   Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '; do a quit' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'starts-with' Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lower-case'  Keyword
-' '           Text
+' '           Text.Whitespace
 'the-message' Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"quit"'      Literal.String
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'do-quit'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' enough'     Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'true'        Keyword
-' \n            ' Text
+' \n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nil'         Keyword
 '?'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '; say to all channels' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"PRIVMSG %s :%s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '; say to specified channel' Comment.Single
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find'        Keyword
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"PRIVMSG %s :%s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"send-to-server"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Keyword
 '-'           Keyword
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'text'        Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"PING"'      Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"PONG %s\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"NOTICE"'    Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"PRIVMSG"'   Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'process'     Keyword
 '-'           Keyword
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'text'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"JOIN"'      Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clean'       Keyword
-' '           Text
+' '           Text.Whitespace
 'empty?'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '!|:'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'channel'     Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'clean'       Keyword
-' '           Text
+' '           Text.Whitespace
 'empty?'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '!|:'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'username '   Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' joined '    Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"join"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'channel'     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"username"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'true'        Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Keyword
 '-'           Keyword
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'text'        Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'username'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clean'       Keyword
-' '           Text
+' '           Text.Whitespace
 'empty?'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '!|:'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'target'      Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clean'       Keyword
-' '           Text
+' '           Text.Whitespace
 'empty?'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '!|:'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'message'     Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'slice'       Keyword
-' '           Text
+' '           Text.Whitespace
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ':'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'text'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' \n            ' Text
+' \n            ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'starts-with' Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\001"'     Literal.String
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'process'     Keyword
 '-'           Keyword
 'ctcp'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'find'        Keyword
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' \n                    ' Text
+' \n                    ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'PRIVMSG'     Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"channel-message"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"username"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'NOTICE'      Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"channel-notice"' Literal.String
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"username"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' \n                    ' Text
+' \n                    ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'PRIVMSG'     Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"private-message"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"username"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'NOTICE'      Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"private-notice"' Literal.String
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"username"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'true'        Keyword
-'                \n                ' Text
+'                \n                ' Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  \n'      Text
+'\n  \n'      Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Keyword
 '-'           Keyword
 'ctcp'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'starts-with' Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\001VERSION\\001"' Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"NOTICE %s :\\001VERSION %s\\001\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'version'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'starts-with' Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\001PING"' Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'data'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clean'       Keyword
-' '           Text
+' '           Text.Whitespace
 'empty?'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'data'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\001"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\001"'     Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"NOTICE %s :\\001PING %s\\001\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'starts-with' Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\001ACTION"' Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'data'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clean'       Keyword
-' '           Text
+' '           Text.Whitespace
 'empty?'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'data'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'join'        Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'data'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\001"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\001"'     Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find'        Keyword
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Ichannels'   Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"channel-action"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"username"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'target'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"private-action"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"username"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'starts-with' Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\001TIME\\001"' Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'net-send'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'format'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"NOTICE %s:\\001TIME :%s\\001\\r\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'date'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
 '-'           Keyword
 'buffer'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'raw-buffer'  Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'messages'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'clean'       Keyword
-' '           Text
+' '           Text.Whitespace
 'empty?'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'raw-buffer'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\r\\n"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'sender'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; check for elapsed time since last activity    ' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sub'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'time-of-day' Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Itime-stamp' Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mul'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Idle-time'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '1000'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'do-callbacks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"idle-event"' Literal.String
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Itime-stamp' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'time-of-day' Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'message'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'messages'    Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'message-parts' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'message'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'           \n            ' Text
+'           \n            ' Text.Whitespace
 '('           Punctuation
 'unless'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'empty?'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'message-parts' Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 'message-parts' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Keyword
-' '           Text
+' '           Text.Whitespace
 'message-parts' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'error'       Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'catch'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'join'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rest'        Keyword
-' '           Text
+' '           Text.Whitespace
 'message-parts' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'error'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'process'     Keyword
 '-'           Keyword
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'sender'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'command'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'text'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read'        Keyword
 '-'           Keyword
 'irc'         Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'when'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!='          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'net-peek'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-' \n              ' Text
+' \n              ' Text.Whitespace
 '('           Punctuation
 'net-receive' Keyword
-' '           Text
+' '           Text.Whitespace
 'Iserver'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'buffer'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '8192'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'unless'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'empty?'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'buffer'      Literal.String.Symbol
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
 '-'           Keyword
 'buffer'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'buffer'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read'        Keyword
 '-'           Keyword
 'irc-loop'    Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; monitoring' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'buffer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'       \n        ' Text
+'       \n        ' Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Iconnected'  Literal.String.Symbol
-'    \n            ' Text
+'    \n            ' Text.Whitespace
 '('           Punctuation
 'read'        Keyword
 '-'           Keyword
 'irc'         Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'sleep'       Keyword
-' '           Text
+' '           Text.Whitespace
 '1000'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'print'       Keyword
 '-'           Keyword
 'raw-message' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; example of using a callback' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'raw-data'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'channel'     Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'message-text' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'raw-data'    Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'date'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'date-value'  Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '%H:%M:%S '   Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'username'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '> '          Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'message-text' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'print'       Keyword
 '-'           Keyword
 'outgoing-message' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'raw-data'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"message"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'channel'     Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"channel"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 'data'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'message-text' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'raw-data'    Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'date'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'date-value'  Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '%H:%M:%S '   Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Inickname'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '> '          Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'message-text' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'session'     Name.Variable
 ')'           Punctuation
 '; interactive terminal' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '; must add callbacks to display messages' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'register-callback' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"channel-message"' Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'print'       Keyword
 '-'           Keyword
 'raw-message' Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'register-callback' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"send-to-server"' Literal.String
-'  '          Text
+'  '          Text.Whitespace
 "'"           Operator
 'print'       Keyword
 '-'           Keyword
 'outgoing-message' Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Iconnected'  Literal.String.Symbol
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'zero?'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'peek'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'read'        Keyword
 '-'           Keyword
 'irc'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'send'        Keyword
 '-'           Keyword
 'to-server'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'read-line'   Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'finished session ' Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'date'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'exit'        Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; end of IRC code' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
index cd7b44c94f373bb093b26529bcb1ac8fc560b3ec..b897cc25db367c6ac7bee938b4a600511f6d2818 100644 (file)
 '#!/usr/bin/env newlisp' Comment.Preproc
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; @module markdown' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @author cormullion' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; @description a port of John Gruber's Markdown to newLISP" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @location http://unbalanced-parentheses.nfshost.com/' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @version of date 2011-10-02 22:36:02' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version history: at the end' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; a port of John Gruber's Markdown.pl (http://daringfireball.net/markdown) script to newLISP..." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; see his original Perl script for explanations of the fearsome regexen and' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; byzantine logic, etc...' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; TODO:'    Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   the following Markdown tests fail:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   Inline HTML (Advanced) ... FAILED' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   Links, reference style ... FAILED -- nested brackets ' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   Links, shortcut references ... FAILED' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   Markdown Documentation - Syntax ... FAILED' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   Ordered and unordered lists ... FAILED -- a nested ordered list error' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   parens in url : ![this is a stupid URL](http://example.com/(parens).jpg) see (Images.text)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   Add: email address scrambling' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'context'     Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Hash'        Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'HashTable'   Literal.String.Symbol
 ':'           Operator
 'HashTable'   Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'build-escape-table' Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'escape-chars*' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '\\`*_{}[]()>#+-.![/text]' Literal.String
 ')'           Punctuation
-'   \n   '    Text
+'   \n   '    Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'explode'     Keyword
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'escape-chars*' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hash'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'init-hash'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 "; finds a hash identifier that doesn't occur anywhere in the text" Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'counter'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'hash-prefix' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"HASH"'      Literal.String
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'hash-id'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'hash-prefix' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'counter'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'do-while'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find'        Keyword
-' '           Text
+' '           Text.Whitespace
 'hash-id'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'hash-id'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'hash-prefix' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'inc'         Keyword
-' '           Text
+' '           Text.Whitespace
 'counter'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'Hash'        Name.Variable
 ':'           Operator
 'build-escape-table' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hash'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'hash-id'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'inc'         Keyword
-' '           Text
+' '           Text.Whitespace
 'counter'     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'context'     Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'markdown'    Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'markdown'    Name.Variable
 ':'           Operator
 'markdown'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'initialize'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'Hash'        Name.Variable
 ':'           Operator
 'init-hash'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unescape-special-chars' Name.Variable
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'block-transforms' Name.Variable
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'strip-link-definitions' Name.Variable
-' \n         ' Text
+' \n         ' Text.Whitespace
 '('           Punctuation
 'protect'     Name.Variable
-' \n            ' Text
+' \n            ' Text.Whitespace
 '('           Punctuation
 'cleanup'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'initialize'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'escape-pairs*' Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 "'"           Operator
 '('           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\\\'    Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\'          Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\`'       Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 '{'           Literal.String
 '`'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\*'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' \n       '  Text
+' \n       '  Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\_'       Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '[text]'      Literal.String
 '\\\\\\{[/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '{[/text]'    Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '[text]'      Literal.String
 '\\\\\\}[/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '}[/text]'    Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\['     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '['           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\]'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ']'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\('     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '('           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\)'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ')'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\>'       Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 '{'           Literal.String
 '>'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\#'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '#'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\+'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '+'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\-'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '-'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\\\.'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '.'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 '{'           Literal.String
 '\\\\!'       Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 '{'           Literal.String
 '!'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'hashed-html-blocks*' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'list'        Keyword
 '-'           Keyword
 'level*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'block-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'form-paragraphs' Name.Variable
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'protect'     Name.Variable
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 'block-quotes' Name.Variable
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'code-blocks' Name.Variable
-' \n       '  Text
+' \n       '  Text.Whitespace
 '('           Punctuation
 'lists'       Name.Variable
-' \n        ' Text
+' \n        ' Text.Whitespace
 '('           Punctuation
 'horizontal-rules' Name.Variable
-' \n         ' Text
+' \n         ' Text.Whitespace
 '('           Punctuation
 'headers'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'span-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'line-breaks' Name.Variable
-' \n   '      Text
+' \n   '      Text.Whitespace
 '('           Punctuation
 'emphasis'    Name.Variable
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'amps-and-angles' Name.Variable
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 'auto-links'  Name.Variable
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'anchors'     Name.Variable
-' \n       '  Text
+' \n       '  Text.Whitespace
 '('           Punctuation
 'images'      Name.Variable
-' \n        ' Text
+' \n        ' Text.Whitespace
 '('           Punctuation
 'escape-special-chars' Name.Variable
-' \n         ' Text
+' \n         ' Text.Whitespace
 '('           Punctuation
 'escape-special-chars' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'code-spans'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'inside-attributes' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tokenize-html' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'xhtml'       Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; return list of tag/text portions of xhtml text' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'letn'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'tag-match'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '((?s:<!(-- .*? -- \\s*)+>)|\n(?s:<\\?.*?\\?>)|\n(?:<[a-z/!$](?:[^<>]|\n(?:<[a-z/!$](?:[^<>]|\n(?:<[a-z/!$](?:[^<>]|\n(?:<[a-z/!$](?:[^<>]|\n(?:<[a-z/!$](?:[^<>]|\n(?:<[a-z/!$](?:[^<>])*>))*>))*>))*>))*>))*>))[/text]' Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; yeah, well...' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'xhtml'       Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'len'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Keyword
-' '           Text
+' '           Text.Whitespace
 'str'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'tokens'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'tag-start'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find'        Keyword
-' '           Text
+' '           Text.Whitespace
 'tag-match'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'str'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pos'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'tag-start'   Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'slice'       Keyword
-' '           Text
+' '           Text.Whitespace
 'str'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pos'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tag-start'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pos'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tokens'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'tag'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$0'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tokens'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'str'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'slice'       Keyword
-' '           Text
+' '           Text.Whitespace
 'str'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'tag-start'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$0'          Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'pos'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '; leftovers' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'pos'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'len'         Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'slice'       Keyword
-' '           Text
+' '           Text.Whitespace
 'str'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pos'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'len'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pos'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tokens'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'tokens'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'escape-special-chars' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'within-tag-attributes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'tokenize-html' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'new'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'    \n    '  Text
+'    \n    '  Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pair'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'temp'        Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'tag'         Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 "; 'tag"      Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'              \n              ' Text
+'              \n              ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'new'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\\\'        Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\\\'        Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '(?<=.)</?code>(?=.)[/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '`'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 "; 'text"     Comment.Single
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-'  '          Text
+'  '          Text.Whitespace
 'within-tag-attributes' Literal.String.Symbol
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'new'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'new'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'encode-backslash-escapes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'temp'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$idx'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; return as text' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'join'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'map'         Keyword
-' '           Text
+' '           Text.Whitespace
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 'temp'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'encode-backslash-escapes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pair'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'escape-pairs*' Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '14'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'encode-code' Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '; encode/escape certain characters inside Markdown code runs' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '"&amp;"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '"&lt;"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '>'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '"&gt;"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\\\'        Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"{"'         Literal.String
-'  '          Text
+'  '          Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"{"'         Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\['         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '['           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\]'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ']'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\\\'        Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"\\\\"'      Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'code-spans'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-'  \n    '    Text
+'  \n    '    Text.Whitespace
 '{'           Literal.String
 '(?<!\\\\)(`+)(.+?)(?<!`)\\1(?!`)' Literal.String
 '}'           Literal.String
-' \n    '     Text
+' \n    '     Text.Whitespace
 's'           Literal.String.Symbol
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<code>'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'encode-code' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</code>'     Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' \n    '     Text
+' \n    '     Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'encode-alt'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"&amp;"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"&quot;"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'images'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'alt-text'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'url'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'title'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'ref'         Keyword
 '-'           Keyword
 'regex'       Keyword
-'    '        Text
+'    '        Text.Whitespace
 '{'           Literal.String
 '(!\\[(.*?)\\][ ]?(?:\\n[ ]*)?\\[(.*?)\\])' Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'inline-regex' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '(!\\[(.*?)\\]\\([ \\t]*<?(\\S+?)>?[ \\t]*(([\'"])(.*?)\\5[ \\t]*)?\\))' Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'whole-match' Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'id-ref'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'url'         Name.Variable
-'    '        Text
+'    '        Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ';  reference links ![alt text][id]' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 'ref'         Keyword
 '-'           Keyword
 'regex'       Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'whole-match' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'alt-text'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'id-ref'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$3'          Keyword
 ')'           Punctuation
-'       \n       ' Text
+'       \n       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'alt-text'    Literal.String.Symbol
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'alt-text'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'empty?'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'id-ref'      Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'id-ref'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lower-case'  Keyword
-' '           Text
+' '           Text.Whitespace
 'alt-text'    Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'     \n       ' Text
+'     \n       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'id-ref'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'link-database*' Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'id-ref'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'link-database*' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n              ' Text
+' \n              ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-' \n            ' Text
+' \n            ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'             \n       ' Text
+'             \n       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'id-ref'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'link-database*' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '; title'     Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'id-ref'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'link-database*' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '; no title'  Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 ')'           Punctuation
-'       \n       ' Text
+'       \n       ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'result'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' \n          ' Text
+' \n          ' Text.Whitespace
 '{'           Literal.String
 '<img src="'  Literal.String
 '}'           Literal.String
-' \n          ' Text
+' \n          ' Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
 ')'           Punctuation
-' \n          ' Text
+' \n          ' Text.Whitespace
 '{'           Literal.String
 '" alt="'     Literal.String
 '}'           Literal.String
-' \n          ' Text
+' \n          ' Text.Whitespace
 'alt-text'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '" '          Literal.String
 '}'           Literal.String
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'empty?'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' title="'    Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '{'           Literal.String
 ' />'         Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'result'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'whole-match' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '0'           Literal.String.Symbol
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '; inline image refs:  ![alt text](url "optional title")' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n      '   Text
+' \n      '   Text.Whitespace
 'inline-regex' Literal.String.Symbol
-' \n      '   Text
+' \n      '   Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'whole-match' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'alt-text'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$3'          Keyword
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$6'          Keyword
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'alt-text'    Literal.String.Symbol
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'alt-text'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'alt-text'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'          \n        ' Text
+'          \n        ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-' \n             ' Text
+' \n             ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n               ' Text
+' \n               ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'           \n        ' Text
+'           \n        ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' \n           ' Text
+' \n           ' Text.Whitespace
 '{'           Literal.String
 '<img src="'  Literal.String
 '}'           Literal.String
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '{'           Literal.String
 '" alt="'     Literal.String
 '}'           Literal.String
-' \n           ' Text
+' \n           ' Text.Whitespace
 'alt-text'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '" '          Literal.String
 '}'           Literal.String
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'title="'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' />'         Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '0'           Literal.String.Symbol
-'\n     '     Text
+'\n     '     Text.Whitespace
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '; empty ones are possible' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '!\\[(.*?)\\]\\([ \\t]*\\)' Literal.String
 '}'           Literal.String
-' \n     '    Text
+' \n     '    Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<img src="" alt="' Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '" title="" />' Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-anchor' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'id-ref'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; Link defs are in the form: ^[id]: url "optional title"' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; stored in link db list  as (id (url title))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; params are text to be linked and the id of the link in the db' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; eg bar 1 for [bar][1]' Comment.Single
-'\n\n   '     Text
+'\n\n   '     Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'title'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'id'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'id-ref'      Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'url'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\n'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '[ ]?\\n'     Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'   \n      ' Text
+'   \n      ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'null?'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'id'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'id'          Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'lower-case'  Keyword
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'nil'         Keyword
 '?'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'id'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'link-database*' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'id'          Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '*'           Keyword
 'link-database*' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'id'          Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '*'           Keyword
 'link-database*' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n                      ' Text
+' \n                      ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n                ' Text
+'\n                ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<a href="'   Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
 ')'           Punctuation
-' \n               ' Text
+' \n               ' Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' title="'    Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '{'           Literal.String
 '>'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</a>'        Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '['           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ']['          Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'id-ref'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ']'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'anchors'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'letn'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'nested-brackets' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '(?>[^\\[\\]]+)*' Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'ref'         Keyword
 '-'           Keyword
 'link-regex'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '(\\[('       Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'nested-brackets' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ')\\][ ]?(?:\\n[ ]*)?\\[(.*?)\\])' Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'inline-regex' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '(\\[(.*?)\\]\\([ ]*<?(.*?\\)?)>?[ ]*(([\'"])(.*?)\\5[ \\t]*)?\\))' Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'link-text'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'url'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'title'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'         \n  ' Text
+'         \n  ' Text.Whitespace
 '; reference-style links: [link text] [id]' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$2'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$3'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$4'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$5'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$6'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'    '        Text
+'    '        Text.Whitespace
 "; i still don't think I should have to do this..." Comment.Single
-'\n  \n  '    Text
+'\n  \n  '    Text.Whitespace
 '; what about this regex instead?' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'ref'         Keyword
 '-'           Keyword
 'link-regex'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '(\\[(.*?)\\][ ]?\\[(.*?)\\])' Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n   \n  '   Text
+'\n   \n  '   Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 'ref'         Keyword
 '-'           Keyword
 'link-regex'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-anchor' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
-' '           Text
+' '           Text.Whitespace
 '$3'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; $2 is link text, $3 is id' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; inline links: [link text](url "optional title")' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$2'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$3'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$4'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$5'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$6'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n     '    Text
+' \n     '    Text.Whitespace
 'inline-regex' Literal.String.Symbol
-' \n     '    Text
+' \n     '    Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$3'          Keyword
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$6'          Keyword
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'          \n      ' Text
+'          \n      ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n             ' Text
+' \n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'title'       Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'           \n      ' Text
+'           \n      ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\*'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '*'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
-'  '          Text
+'  '          Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '_'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '^<(.*)>$'    Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' \n         ' Text
+' \n         ' Text.Whitespace
 '{'           Literal.String
 '<a href="'   Literal.String
 '}'           Literal.String
-' \n         ' Text
+' \n         ' Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' title="'    Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' \n                 ' Text
+' \n                 ' Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '{'           Literal.String
 '>'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'link-text'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</a>'        Literal.String
 '}'           Literal.String
-'\n         ' Text
+'\n         ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '8'           Literal.String.Symbol
-'\n   '       Text
+'\n   '       Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; replace'   Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'auto-links'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 '[text]'      Literal.String
 '<((https?|ftp):[^\'">\\s]+)>[/text]' Literal.String
-' \n    '     Text
+' \n    '     Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<a href="'   Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '">'          Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</a>'        Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'  \n    '    Text
+'  \n    '    Text.Whitespace
 '0'           Literal.String.Symbol
-'\n '         Text
+'\n '         Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; to-do: email ...' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'amps-and-angles' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; Smart processing for ampersands and angle brackets' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 '[text]'      Literal.String
 '&(?!\\#?[xX]?(?:[0-9a-fA-F]+|\\w+);)[/text]' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'txt'         Literal.String.Symbol
-'\n    '      Text
+'\n    '      Text.Whitespace
 '{'           Literal.String
 '&amp;'       Literal.String
 '}'           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 '10'          Literal.String.Symbol
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 '[text]'      Literal.String
 '<(?![a-z/?\\$!])[/text]' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'txt'         Literal.String.Symbol
-'\n    '      Text
+'\n    '      Text.Whitespace
 '{'           Literal.String
 '&lt;'        Literal.String
 '}'           Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'emphasis'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; italics/bold: strong first' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 '[text]'      Literal.String
 ' (\\*\\*|__) (?=\\S) (.+?[*_]*) (?<=\\S) \\1 [/text]' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'txt'         Literal.String.Symbol
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<strong>'    Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</strong>'   Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '8'           Literal.String.Symbol
-'   \n  '     Text
+'   \n  '     Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 '[text]'      Literal.String
 ' (\\*|_) (?=\\S) (.+?) (?<=\\S) \\1 [/text]' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'txt'         Literal.String.Symbol
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<em>'        Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</em>'       Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '8'           Literal.String.Symbol
-'  \n  '      Text
+'  \n  '      Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'line-breaks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; handles line break markers' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '" {2,}\\n"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '" <br/>\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hex-str-to-unicode-char' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'strng'       Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '; given a five character string, assume it\'s "U" + 4 hex chars and convert' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '; return the character...' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'char'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"0x"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'strng'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ustring'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; any four digit string preceded by U ' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"U[0-9a-f]{4,}"' Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'hex-str-to-unicode-char' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$0'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cleanup'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; cleanup the text by normalizing some possible variations' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"\\r\\n|\\r"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'      '      Text
+'      '      Text.Whitespace
 '; standardize line ends' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
-'                ' Text
+'                ' Text.Whitespace
 '; end with two returns' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'detab'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'              ' Text
+'              ' Text.Whitespace
 '; convert tabs to spaces' Comment.Single
-'\n  \n  '    Text
+'\n  \n  '    Text.Whitespace
 '; convert inline Unicode:' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ustring'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"\\n[ \\t]+\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; lines with only spaces and tabs' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'protect'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '; protect or "hash html blocks" ' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'letn'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'nested-block-regex' Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '[text]'      Literal.String
 '(^<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\\b(.*\\n)*?</\\2>[ \\t]*(?=\\n+|\\Z))[/text]' Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'liberal-tag-regex' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '(^<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math)\\b(.*\\n)*?.*</\\2>[ \\t]*(?=\\n+|\\Z))[/text]' Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'hr-regex'    Name.Variable
-'  '          Text
+'  '          Text.Whitespace
 '[text]'      Literal.String
 '(?:(?<=\\n\\n)|\\A\\n?)([ ]{0,3}<(hr)\\b([^<>])*?/?>[ \\t]*(?=\\n{2,}|\\Z))[/text]' Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'html-comment-regex' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '(?:(?<=\\n\\n)|\\A\\n?)([ ]{0,3}(?s:<!(--.*?--\\s*)+>)[ \\t]*(?=\\n{2,}|\\Z))[/text]' Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'results'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'chunk-count' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'chunks'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n"'    Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'chunk-size'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '500'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n   \n   '  Text
+'\n   \n   '  Text.Whitespace
 "; due to a limitation in PCRE, long sections have to be divided up otherwise we'll crash" Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '; so divide up long texts into chunks, then do the regex on each chunk' Comment.Single
-'\n   '       Text
+'\n   '       Text.Whitespace
 '; not an ideal solution, but it works ok :( ' Comment.Single
-'\n  \n   '   Text
+'\n  \n   '   Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'chunk-count' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'chunk-size'  Literal.String.Symbol
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '; do a chunk' Comment.Single
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'text-chunk'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'join'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'min'         Keyword
-' '           Text
+' '           Text.Whitespace
 'chunk-count' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'chunk-size'  Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'chunks'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n"'    Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'rgx'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'nested-block-regex' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'liberal-tag-regex' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'hr-regex'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'html-comment-regex' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n            ' Text
+' \n            ' Text.Whitespace
 'rgx'         Literal.String.Symbol
-' \n            ' Text
+' \n            ' Text.Whitespace
 'text-chunk'  Literal.String.Symbol
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'key'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Hash'        Name.Variable
 ':'           Operator
 'hash'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'key'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'hashed-html-blocks*' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 'key'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n"'    Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; save this partial result' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 'text-chunk'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'results'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; for'       Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; return string result' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'join'        Keyword
-' '           Text
+' '           Text.Whitespace
 'results'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n"'    Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unescape-special-chars' Name.Variable
-' '           Text
+' '           Text.Whitespace
 't'           Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 "; Swap back in all the special characters we've hidden. " Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'pair'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'HashTable'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'last'        Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 'pair'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 't'           Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'strip-link-definitions' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '; strip link definitions from the text and store them' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '; Link defs are in the form: ^[id]: url "optional title"' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '; stored in link db list  as (id (url title))' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'link-db'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'url'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'id'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'title'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n       '  Text
+' \n       '  Text.Whitespace
 '[text]'      Literal.String
 '^[ ]{0,3}\\[(.+)\\]:[ \\t]*\\n?[ \\t]*<?(\\S+?)>?[ \\t]*\\n?[ \\t]*(?:(?<=\\s)["(](.+?)[")][ \\t]*)?(?:\\n+|\\Z)[/text]' Literal.String
-'\n       '   Text
+'\n       '   Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n       '  Text
+' \n       '  Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n         ' Text
+' \n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'id'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lower-case'  Keyword
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'amps-and-angles' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$3'          Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '"'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '&quot;'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'id'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'url'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'title'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'link-db'     Literal.String.Symbol
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$3'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; necessary?' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; remove from text' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 ')'           Punctuation
-' \n       '  Text
+' \n       '  Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'link-database*' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'link-db'     Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'horizontal-rules' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n   '      Text
+' \n   '      Text.Whitespace
 '[text]'      Literal.String
 '^[ ]{0,2}([ ]?\\*[ ]?){3,}[ \\t]*$[/text]' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'txt'         Literal.String.Symbol
-'\n    '      Text
+'\n    '      Text.Whitespace
 '"\\n<hr />"' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 '14'          Literal.String.Symbol
 ')'           Punctuation
-'  \n   '     Text
+'  \n   '     Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n   '      Text
+' \n   '      Text.Whitespace
 '[text]'      Literal.String
 '^[ ]{0,2}([ ]? -[ ]?){3,}[ \\t]*$[/text]' Literal.String
-'\n   '       Text
+'\n   '       Text.Whitespace
 'txt'         Literal.String.Symbol
-'\n   '       Text
+'\n   '       Text.Whitespace
 '"\\n<hr />"' Literal.String
-'\n   '       Text
+'\n   '       Text.Whitespace
 '14'          Literal.String.Symbol
 ')'           Punctuation
-'  \n   '     Text
+'  \n   '     Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 '[text]'      Literal.String
 '^[ ]{0,2}([ ]? _[ ]?){3,}[ \\t]*$[/text]' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'txt'         Literal.String.Symbol
-'\n    '      Text
+'\n    '      Text.Whitespace
 '"\\n<hr />"' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 '14'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'headers'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; setext headers' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'level'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n      '   Text
+' \n      '   Text.Whitespace
 '[text]'      Literal.String
 '^(.+)[ \\t]*\\n=+[ \\t]*\\n+[/text]' Literal.String
-'\n      '    Text
+'\n      '    Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"<h1>"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'span-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"</h1>\\n\\n"' Literal.String
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'  \n  \n    ' Text
+'  \n  \n    ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n      '   Text
+' \n      '   Text.Whitespace
 '[text]'      Literal.String
 '^(.+)[ \\t]*\\n-+[ \\t]*\\n+[/text]' Literal.String
-'\n      '    Text
+'\n      '    Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"<h2>"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'span-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"</h2>\\n\\n"' Literal.String
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-' \n   '      Text
+' \n   '      Text.Whitespace
 '; atx headers' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n      '   Text
+' \n      '   Text.Whitespace
 '[text]'      Literal.String
 '^(\\#{1,6})\\s*(.+?)[ ]*\\#*(\\n+)[/text]' Literal.String
-'\n      '    Text
+'\n      '    Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'level'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"<h"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 'level'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '">"'         Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'span-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"</h"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 'level'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '">\\n\\n"'   Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lists'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'letn'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'marker-ul'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '[*+-]'       Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'marker-ol'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\d+[.]'     Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'marker-any'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '(?:'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'marker-ul'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '|'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'marker-ol'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ')'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'whole-list-regex' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '(([ ]{0,3}([/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 'marker-any'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 ')[ \\t]+)(?s:.+?)(\\z|\\n{2,}(?=\\S)(?![ \\t]*[/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 'marker-any'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '[ \\t]+)))[/text]' Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'my-list'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'list'        Keyword
 '-'           Keyword
 'type'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'my-result'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '>'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'list'        Keyword
 '-'           Keyword
 'level*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '^'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'whole-list-regex' Literal.String.Symbol
 ')'           Punctuation
-' \n          ' Text
+' \n          ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '(?:(?<=\\n\\n)|\\A\\n?)' Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'whole-list-regex' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'txt'         Literal.String.Symbol
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'my-list'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find'        Keyword
-' '           Text
+' '           Text.Whitespace
 '$3'          Keyword
-' '           Text
+' '           Text.Whitespace
 'marker-ul'   Literal.String.Symbol
 ')'           Punctuation
-' \n            ' Text
+' \n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'list'        Keyword
 '-'           Keyword
 'type'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"ul"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'marker-type' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'marker-ul'   Literal.String.Symbol
 ')'           Punctuation
-' \n            ' Text
+' \n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'list'        Keyword
 '-'           Keyword
 'type'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"ol"'        Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'marker-type' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'marker-ol'   Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '\\n{2,}[/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 'my-list'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'my-result'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Keyword
 '-'           Keyword
 'list'        Keyword
 '-'           Keyword
 'items'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'my-list'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'marker-any'  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '\\s+$'       Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'my-result'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword
 '-'           Keyword
 'type'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '>'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 'my-result'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</'          Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword
 '-'           Keyword
 'type'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '>'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '10'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '; must be multiline' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'process'     Keyword
 '-'           Keyword
 'list'        Keyword
 '-'           Keyword
 'items'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'marker-any'  Literal.String.Symbol
 ')'           Punctuation
-'    \n  '    Text
+'    \n  '    Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'list'        Keyword
 '-'           Keyword
 'regex'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '(\\n)?(^[ \\t]*)([/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 'marker-any'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 ')[ \\t]+((?s:.+?)(\\n{1,2}))(?=\\n*(\\z|\\2([/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 'marker-any'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 ')[ \\t]+))[/text]' Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'item'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'leading-line' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'leading-space' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'inc'         Keyword
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'list'        Keyword
 '-'           Keyword
 'level*'      Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '\\n{2,}\\z[/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 'list'        Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$2'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$3'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$4'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$5'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n       '  Text
+' \n       '  Text.Whitespace
 'list'        Keyword
 '-'           Keyword
 'regex'       Keyword
-'\n       '   Text
+'\n       '   Text.Whitespace
 'list'        Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'item'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$4'          Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'leading-line' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'leading-space' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$2'          Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'or'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'empty?'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'leading-line' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ends-with'   Keyword
-' '           Text
+' '           Text.Whitespace
 'item'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n{2,}"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'item'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'block-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'outdent'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'item'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '; recurse for sub lists' Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n              ' Text
+' \n              ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'item'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lists'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'outdent'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'item'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' \n              ' Text
+' \n              ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'item'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'span-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'item'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<li>'        Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'item'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</li>'       Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dec'         Keyword
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'list'        Keyword
 '-'           Keyword
 'level*'      Literal.String.Symbol
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'list'        Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'code-blocks' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'code-block'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'token-list'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n    '     Text
+' \n    '     Text.Whitespace
 '[text]'      Literal.String
 '(?:\\n\\n|\\A)((?:(?:[ ]{4}|\\t).*\\n+)+)((?=^[ ]{0,3}\\S)|\\Z)[/text]' Literal.String
-'\n    '      Text
+'\n    '      Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n    '     Text
+' \n    '     Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n      '   Text
+' \n      '   Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'code-block'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 "; format if Nestor module is loaded and it's not marked as plain" Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'not'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'starts-with' Keyword
-' '           Text
+' '           Text.Whitespace
 'code-block'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"    ;plain\\n"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'context'     Keyword
 '?'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'Nestor'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 '; format newlisp' Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n             ' Text
+' \n             ' Text.Whitespace
 '; remove flag if present' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"[ ]{4};newlisp\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'code-block'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'       \n            ' Text
+'       \n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'code-block'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'protect'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Nestor'      Name.Variable
 ':'           Operator
 'nlx-to-html' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Nestor'      Name.Variable
 ':'           Operator
 'my-read'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'detab'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'outdent'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'code-block'  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'code-block'  Literal.String.Symbol
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 "; don't format " Comment.Single
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 '; trim leading and trailing newlines' Comment.Single
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"[ ]{4};plain\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'code-block'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'code-block'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'detab'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'encode-code' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'outdent'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'code-block'  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'code-block'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n<pre><code>"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'code-block'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n</code></pre>\\n\\n"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'block-quotes' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'block-quote' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n       '  Text
+' \n       '  Text.Whitespace
 '[text]'      Literal.String
 '((^[ \\t]*>[ \\t]?.+\\n(.+\\n)*\\n*)+)[/text]' Literal.String
-'\n       '   Text
+'\n       '   Text.Whitespace
 'txt'         Literal.String.Symbol
-' \n       '  Text
+' \n       '  Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-' \n         ' Text
+' \n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'block-quote' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '^[ ]*>[ ]?'  Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'block-quote' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '^[ ]+$'      Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'block-quote' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'block-quote' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'block-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'block-quote' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; recurse     ' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 '; remove leading spaces' Comment.Single
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' \n             ' Text
+' \n             ' Text.Whitespace
 '{'           Literal.String
 '(\\s*<pre>.+?</pre>)' Literal.String
 '}'           Literal.String
-' \n             ' Text
+' \n             ' Text.Whitespace
 'block-quote' Literal.String.Symbol
-' \n             ' Text
+' \n             ' Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"<blockquote>\\n"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'block-quote' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n</blockquote>\\n\\n"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'outdent'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '^(\\t|[ ]{1,4})[/text]' Literal.String
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'detab'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '[text]'      Literal.String
 '(.*?)\\t[/text]' Literal.String
-' \n    '     Text
+' \n    '     Text.Whitespace
 's'           Literal.String.Symbol
-'   \n    '   Text
+'   \n    '   Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dup'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '%'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'length'      Keyword
-' '           Text
+' '           Text.Whitespace
 '$1'          Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'form-paragraphs' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'grafs'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'original'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'txt'         Literal.String.Symbol
-'   '         Text
+'   '         Text.Whitespace
 '('           Punctuation
 'trim'        Keyword
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'            ' Text
+'            ' Text.Whitespace
 '; strip blank lines before and after' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'grafs'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse'       Keyword
-' '           Text
+' '           Text.Whitespace
 'txt'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n{2,}"'   Literal.String
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 '; split    ' Comment.Single
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'p'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'grafs'       Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'original'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lookup'      Keyword
-' '           Text
+' '           Text.Whitespace
 'p'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'hashed-html-blocks*' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; html blocks' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'grafs'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$idx'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'original'    Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; wrap <p> tags round everything else' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'grafs'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '$idx'        Keyword
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '<p>'         Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'replace'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '^[ ]*'       Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'span-transforms' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '</p>'        Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'join'        Keyword
-' '           Text
+' '           Text.Whitespace
 'grafs'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"\\n\\n"'    Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '[text]'      Literal.String
 '\n; three command line arguments: let\'s hope last one is a file\n(when (= 3 (length (main-args)))\n      (println (markdown (read-file (main-args 2))))\n      (exit))\n\n; hack for command-line and module loading\n(set \'level (sys-info 3))\n\n; if level is 2, then we\'re probably invoking markdown.lsp directly\n; if level is > 3, then we\'re probably loading it into another script...\n    \n(when (= level 2)\n   ; running on command line, read STDIN and execute:\n   (while (read-line)\n          (push (current-line) *stdin* -1))\n   (println (markdown (join *stdin* "\\n")))\n   (exit))\n[/text]' Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; version 2011-09-16 16:31:29' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   Changed to different hash routine. Profiling shows that hashing takes 40% of the execution time.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   Unfortunately this new version is only very slightly faster.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;   Command-line arguments hack in previous version doesn't work." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version 2011-08-18 15:04:40' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   various fixes, and added hack for running this from the command-line:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;     echo "hi there"     | newlisp markdown.lsp ' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;     echo "hello world"  | markdown.lsp ' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;     cat file.text       | newlisp markdown.lsp' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version 2010-11-14 17:34:52' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;    some problems in ustring. Probably remove it one day, as it's non standard..." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version 2010-10-14 18:41:38' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    added code to work round PCRE crash in (protect ...' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version date 2010-07-10 22:20:25' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;    modified call to 'read' since lutz has changed it" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version date 2009-11-16 22:10:10' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    fixed bug in tokenize.html' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version date 2008-10-08 18:44:46' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    changed nth-set to setf to be version-10 ready. ' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    This means that now this script will NOT work with' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    earlier versions of newLISP!!!!!!!!!!!' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    requires Nestor if you want source code colouring...' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version date 2008-08-08 16:54:56' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    changed (unless to (if (not ... :(' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version date 2008-07-20 14:!2:29' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    added hex-str-to-unicode-char ustring' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version date 2008-03-07 15:36:09' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    fixed load error' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version date 2007-11-17 16:20:57' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    added syntax colouring module' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; '         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; version date  2007-11-14 09:19:42' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;    removed reliance on dostring for compatibility with 9.1' Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '; eof'       Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
index 7560fa3db385498bc4b8a8a70b12d767367992f5..511707ae5458de5d3c0b033ba77f84983f40ac72 100644 (file)
 '#!/usr/bin/env newlisp' Comment.Preproc
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @module reversi.lsp' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @description a simple version of Reversi: you as white against newLISP as black' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @version 0.1 alpha August 2007' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; @author cormullion' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; 2008-10-08 21:46:54' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; updated for newLISP version 10. (changed nth-set to setf)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; this now does not work with newLISP version 9!' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; This is my first attempt at writing a simple application using newLISP-GS.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; The game algorithms are basically by ' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Peter Norvig http://norvig.com/paip/othello.lisp' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; and all I've done is translate to newLISP and add the interface..." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; To-Do: work out how to handle the end of the game properly...' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; To-Do: complete newlispdoc for the functions' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'empty'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-' \n'         Text
+' \n'         Text.Whitespace
 
 '('           Punctuation
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'black'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
 ')'           Punctuation
-' \n'         Text
+' \n'         Text.Whitespace
 
 '('           Punctuation
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'white'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'constant'    Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'outer'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; squares outside the 8x8 board' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; the master board is a 100 element list' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'moves*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; list of moves made' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; these are the 8 different directions from a square on the board' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'all-directions' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '-'           Keyword
 '11'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '10'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '9'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '11'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; return a list of all the playable squares (the 8 by 8 grid inside the 10by10' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'all-squares' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'local'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'result'      Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'square'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '11'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '88'          Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mod'         Keyword
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'result'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'result'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; make a board' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-board'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dup'         Keyword
-' '           Text
+' '           Text.Whitespace
 'outer'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '100'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'all-squares' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 's'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'empty'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; for testing and working at a terminal' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'print'       Keyword
 '-'           Keyword
 'board'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'print'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 ' '           Literal.String
 '}'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'print'       Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'c'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '99'          Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'print'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 '.'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'print'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'b'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'print'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'w'           Literal.String
 '}'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '<='          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '88'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mod'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; newline'   Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'print'       Keyword
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'inc'         Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"\\n"'       Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; the initial starting pattern' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'initial-board' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'make-board'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'white'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '55'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'white'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '45'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'black'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '54'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'black'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'opponent'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'black'       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'white'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'black'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'player-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'white'       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"white"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 '"black"'     Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n  \n'      Text
+'\n  \n'      Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'valid-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 'integer'     Keyword
 '?'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '<='          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '11'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '88'          Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '<='          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mod'         Keyword
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'empty-square?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'valid-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'empty'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     \n'   Text
+'\n     \n'   Text.Whitespace
 
 '; test whether a move is legal. The square must be empty' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 "; and it must flip at least one of the opponent's piece" Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'legal-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 'empty-square?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'exists'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dir'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'would-flip?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'all-directions' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; would this move by player result in any flips in the given direction?' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 "; if so, return the number of the 'opposite' (bracketing) piece's square" Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'would-flip?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
-' \n  '       Text
+' \n  '       Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' \n        ' Text
+' \n        ' Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'opponent'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'find'        Keyword
 '-'           Keyword
 'bracketing-piece' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  \n'      Text
+'\n  \n'      Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find'        Keyword
 '-'           Keyword
 'bracketing-piece' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; return the square of the bracketing piece, if any' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'opponent'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'find'        Keyword
 '-'           Keyword
 'bracketing-piece' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'true'        Keyword
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-flips'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'bracketer'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'would-flip?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'c'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'bracketer'   Literal.String.Symbol
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'do-until'    Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'bracketer'   Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'flips*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'inc'         Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; make the move on the master game board, not yet visually' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-move'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'moves*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '1'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'flips*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "; we're going to keep a record of the flips made" Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'dir'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'all-directions' Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'make-flips'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'dir'         Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'next-to-play' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'previous-player' Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opp'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'opponent'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'previous-player' Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'any-legal-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'opp'         Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'opp'         Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'any-legal-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'previous-player' Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'player-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'opp'         Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '" has no moves"' Literal.String
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 'previous-player' Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'true'        Keyword
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        \n' Text
+'\n        \n' Text.Whitespace
 
 '; are there any legal moves (returns first) for this player?' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'any-legal-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'exists'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fn'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'move'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'legal-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 'all-squares' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; a list of all legal moves might be useful' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'legal-moves' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'move'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'all-squares' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'legal-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'push'        Keyword
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'result'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'unique'      Keyword
-' '           Text
+' '           Text.Whitespace
 'result'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; define any number of strategies that can be called on to calculate' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 "; the next computer move. This is the only one I've done... - make " Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; any legal move at random!' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'random'      Keyword
 '-'           Keyword
 'strategy'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'seed'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'date-value'  Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'apply'       Keyword
-' '           Text
+' '           Text.Whitespace
 'amb'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'legal-moves' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; get the next move using a particular strategy' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'get-move'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'strategy'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'move'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply'       Keyword
-' '           Text
+' '           Text.Whitespace
 'strategy'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'valid-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'legal-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 '('           Punctuation
 'make-move'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'true'        Keyword
-'  \n        ' Text
+'  \n        ' Text.Whitespace
 '('           Punctuation
 'println'     Keyword
-' '           Text
+' '           Text.Whitespace
 '"no valid or legal move for "' Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'player-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'move'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 "; that's about all the game algorithms for now" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; now for the interface' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'ostype'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"Win32"'     Literal.String
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'env'         Keyword
-' '           Text
+' '           Text.Whitespace
 '"PROGRAMFILES"' Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"/newlisp/guiserver.lsp"' Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"/usr/share/newlisp/guiserver.lsp"' Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'init'        Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'map'         Keyword
-' '           Text
+' '           Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'screen-width' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'screen-height' Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'get-screen'  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'board-width' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '540'         Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; center on screen' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'frame'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Reversi'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'screen-width' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'board-width' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '60'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'board-width' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '660'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"Reversi"'   Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 'set'         Keyword
 '-'           Keyword
 'border-layout' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Reversi'     Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'canvas'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'MyCanvas'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Reversi'     Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'background'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'MyCanvas'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 '.8'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.9'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '.7'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '.8'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'mouse-released' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'MyCanvas'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'mouse-released-action' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'panel'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Controls'    Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'button'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Start'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'start-game'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"Start"'     Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'panel'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Lower'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'label'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'WhiteScore'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '""'          Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'label'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'BlackScore'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '""'          Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 'add'         Keyword
 '-'           Keyword
 'to'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Controls'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Start'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 'add'         Keyword
 '-'           Keyword
 'to'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Lower'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'WhiteScore'  Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'BlackScore'  Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 'add'         Keyword
 '-'           Keyword
 'to'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Reversi'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'MyCanvas'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"center"'    Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Controls'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"north"'     Literal.String
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Lower'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"south"'     Literal.String
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 'set'         Keyword
 '-'           Keyword
 'anti-aliasing' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 'set'         Keyword
 '-'           Keyword
 'visible'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Reversi'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; size of board square, and radius/width of counter' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'size'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '60'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '30'          Literal.String.Symbol
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; initialize the master board' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'initial-board' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'make-board'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'white'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '55'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'white'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '45'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'black'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'setf'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Keyword
 'board*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '54'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'black'       Literal.String.Symbol
 ')'           Punctuation
-'  \n'        Text
+'  \n'        Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; draw a graphical repesentation of the board' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'draw-board'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'local'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'all-squares' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'map'         Keyword
-' '           Text
+' '           Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'square-to-xy' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'draw-rect'   Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; !!!!!!'    Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'white'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'draw-first-four-pieces' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'draw-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '44'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"white"'     Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'draw-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '55'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"white"'     Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'draw-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '45'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"black"'     Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'draw-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '54'          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"black"'     Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; this next function can mark the legal moves available to a player' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'show-legal-moves' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'local'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'legal-move-list' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'legal-move-list' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'legal-moves' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'all-squares' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'map'         Keyword
-' '           Text
+' '           Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'square-to-xy' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'draw-rect'   Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; !!!!!!'    Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'find'        Keyword
-' '           Text
+' '           Text.Whitespace
 'm'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'legal-move-list' Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'blue'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'white'       Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; convert the number of a square on the master board to coordinates' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'square-to-xy' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
-' \n  '       Text
+' \n  '       Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mod'         Keyword
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; draw one of the pieces' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'draw-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'colour'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'local'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'map'         Keyword
-' '           Text
+' '           Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'square-to-xy' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'colour'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"white"'     Literal.String
 ')'           Punctuation
-' \n        ' Text
+' \n        ' Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'fill-circle' Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '; !!!!!!! y first, cos y is x ;-)' Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 'width'       Literal.String.Symbol
-'\n           ' Text
+'\n           ' Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'white'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     \n     ' Text
+'\n     \n     ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'colour'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"black"'     Literal.String
 ')'           Punctuation
-' \n        ' Text
+' \n        ' Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'fill-circle' Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 'width'       Literal.String.Symbol
-'\n           ' Text
+'\n           ' Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'black'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     \n     ' Text
+'\n     \n     ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'colour'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"empty"'     Literal.String
 ')'           Punctuation
-' \n        ' Text
+' \n        ' Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'draw-rect'   Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '-'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'white'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; animate the pieces flipping' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'flip-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; flip by drawing thinner and fatter ellipses ' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; go from full disk in opposite colour to invisible' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; then from invisible to full disk in true colour' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'local'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'colour'      Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'map'         Keyword
-' '           Text
+' '           Text.Whitespace
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'square-to-xy' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'square'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '; delete original piece' Comment.Single
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'delete'      Keyword
 '-'           Keyword
 'tag'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'colour'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'black'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'white'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
-' \n     '    Text
+' \n     '    Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-'  '          Text
+'  '          Text.Whitespace
 '1'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '-'           Keyword
 '3'           Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'fill-ellipse' Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'flip'        Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; y first :-) !!! ' Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 'i'           Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 'width'       Literal.String.Symbol
-'\n           ' Text
+'\n           ' Text.Whitespace
 'colour'      Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'sleep'       Keyword
-' '           Text
+' '           Text.Whitespace
 '20'          Literal.String.Symbol
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '; this might need adjusting...' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'delete'      Keyword
 '-'           Keyword
 'tag'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'flip'        Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'colour'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'white'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'gs'          Literal.String.Symbol
 ':'           Operator
 'black'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'width'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'fill-ellipse' Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'flip'        Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '; :-) !!! '  Comment.Single
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 'i'           Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 'width'       Literal.String.Symbol
-'\n           ' Text
+'\n           ' Text.Whitespace
 'colour'      Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'sleep'       Keyword
-' '           Text
+' '           Text.Whitespace
 '20'          Literal.String.Symbol
 ')'           Punctuation
-'  \n        ' Text
+'  \n        ' Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'delete'      Keyword
 '-'           Keyword
 'tag'         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '{'           Literal.String
 'flip'        Literal.String
 '}'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'i'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '; draw the piece again' Comment.Single
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'fill-circle' Literal.String.Symbol
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 '*'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'size'        Literal.String.Symbol
 ')'           Punctuation
-' \n           ' Text
+' \n           ' Text.Whitespace
 'width'       Literal.String.Symbol
-'\n           ' Text
+'\n           ' Text.Whitespace
 'colour'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'do-move'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'cond'        Keyword
-' \n     '    Text
+' \n     '    Text.Whitespace
 '; check if the move is good ...' Comment.Single
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!='          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'valid-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
 ')'           Punctuation
-'\n           ' Text
+'\n           ' Text.Whitespace
 '('           Punctuation
 'legal-move?' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n           \n           ' Text
+'\n           \n           ' Text.Whitespace
 '; ... play it' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '; make move on board' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'make-move'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '; and on screen' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'draw-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'player-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'update'      Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '; do flipping stuff' Comment.Single
-'\n              \n              ' Text
+'\n              \n              ' Text.Whitespace
 '; wait for a while' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'sleep'       Keyword
-' '           Text
+' '           Text.Whitespace
 '1000'        Literal.String.Symbol
 ')'           Punctuation
-'\n  \n              ' Text
+'\n  \n              ' Text.Whitespace
 '; then do flipping' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'dolist'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'flips*'      Literal.String.Symbol
 ')'           Punctuation
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'flip-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'f'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              \n              ' Text
+'\n              \n              ' Text.Whitespace
 '('           Punctuation
 'inc'         Keyword
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'move-number*' Literal.String.Symbol
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'draw-piece'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'player-name' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'update'      Literal.String.Symbol
 ')'           Punctuation
-'\n\n              ' Text
+'\n\n              ' Text.Whitespace
 '; update scores' Comment.Single
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'WhiteScore'  Literal.String.Symbol
-' \n                 ' Text
+' \n                 ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"White: "'   Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'count'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'white'       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'board*'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'BlackScore'  Literal.String.Symbol
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '"Black: "'   Literal.String
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'count'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'black'       Literal.String.Symbol
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Keyword
 'board*'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n              ' Text
+'\n              ' Text.Whitespace
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '; or return nil' Comment.Single
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'true'        Keyword
-' \n           ' Text
+' \n           ' Text.Whitespace
 'nil'         Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; the game is driven by the mouse clicks of the user' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; in reply, the computer plays a black piece' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '; premature clicking is possible and possibly a bad thing...' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'mouse-released-action' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'y'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'button'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'modifiers'   Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'tags'        Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '; extract the tag of the clicked square' Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'string'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'first'       Keyword
-' '           Text
+' '           Text.Whitespace
 'tags'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'do-move'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 'begin'       Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'next-to-play' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; there is a training mode - legal squares are highlighted' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; you can uncomment the next line...' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; (show-legal-moves player)' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'update'      Literal.String.Symbol
 ')'           Punctuation
-'\n        \n        ' Text
+'\n        \n        ' Text.Whitespace
 "; wait for black's reply" Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'cursor'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Reversi'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"wait"'      Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Start'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"black\'s move - thinking..."' Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; give the illusion of Deep Thought...' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'sleep'       Keyword
-' '           Text
+' '           Text.Whitespace
 '2000'        Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 "; black's reply" Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '; currently only the random strategy has been defined...' Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'strategy'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'random'      Keyword
 '-'           Keyword
 'strategy'    Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'apply'       Keyword
-' '           Text
+' '           Text.Whitespace
 'strategy'    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'do-move'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'move'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'next-to-play' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'player'      Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 "; (show-legal-moves player) ; to see black's moves" Comment.Single
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Start'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"your move"' Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'cursor'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Reversi'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"default"'   Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'start-game'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Start'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"Click a square to place a piece!"' Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'disable'     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Start'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'player'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'white'       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'start'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'set'         Keyword
 '-'           Keyword
 'text'        Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Start'       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '"Start"'     Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'enable'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'Start'       Literal.String.Symbol
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'set'         Keyword
-'  '          Text
+'  '          Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'move-number*' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.String.Symbol
-'\n        '  Text
+'\n        '  Text.Whitespace
 "'"           Operator
 '*'           Keyword
 'flips*'      Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'initial-board' Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'draw-board'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'draw-first-four-pieces' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'start'       Name.Variable
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'gs'          Name.Variable
 ':'           Operator
 'listen'      Literal.String.Symbol
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 3e9ae5c038f41bee2cf6961f3de9278b79e936d4..d3feb6f2c23b8a799a366ba24b74b31bea20f87c 100644 (file)
 ''            Text
-'// Node.js REPL Session\n' Comment.Single
+'// Node.js REPL Session' Comment.Single
+'\n'          Text.Whitespace
 
-'> '          Generic.Prompt
+'>'           Generic.Prompt
+' '           Text.Whitespace
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 'undefined'   Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
-'> '          Generic.Prompt
+'>'           Generic.Prompt
+' '           Text.Whitespace
 'a'           Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
 '3'           Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
-'> '          Generic.Prompt
+'>'           Generic.Prompt
+' '           Text.Whitespace
 'let'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 "'4'"         Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 'undefined'   Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
-'> '          Generic.Prompt
+'>'           Generic.Prompt
+' '           Text.Whitespace
 'b'           Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'4'"         Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'> '          Generic.Prompt
+'>'           Generic.Prompt
+' '           Text.Whitespace
 'b'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
 'false'       Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
-'> '          Generic.Prompt
+'>'           Generic.Prompt
+' '           Text.Whitespace
 'b'           Name.Other
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
 'false'       Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
-'> '          Generic.Prompt
+'>'           Generic.Prompt
+' '           Text.Whitespace
 'if'          Keyword
 '('           Punctuation
 'a'           Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '...'         Generic.Prompt
-'   '         Text
+'   '         Text.Whitespace
 'console'     Name.Other
 '.'           Punctuation
 'log'         Name.Other
 '('           Punctuation
 'a'           Name.Other
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '...'         Generic.Prompt
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '3'           Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 'undefined'   Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
-'> '          Generic.Prompt
+'>'           Generic.Prompt
+' '           Text.Whitespace
 'c'           Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Uncaught'    Name.Other
-' '           Text
+' '           Text.Whitespace
 'ReferenceError' Name.Exception
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Other
-' '           Text
+' '           Text.Whitespace
 'is'          Name.Other
-' '           Text
+' '           Text.Whitespace
 'not'         Name.Other
-' '           Text
+' '           Text.Whitespace
 'defined'     Name.Other
-'\n'          Text
+'\n'          Text.Whitespace
index c488f89447da5b7c791f4f288d2fee4e3da12ec4..d93248df9a2fe508caaf9560a1c60a80f6d3280d 100644 (file)
@@ -1,12 +1,16 @@
-'; bigtest.nsi\n' Comment
+'; bigtest.nsi' Comment
+'\n'          Text.Whitespace
 
-';\n'         Comment
+';'           Comment
+'\n'          Text.Whitespace
 
-'; This script attempts to test most of the functionality of the NSIS exehead.\n' Comment
+'; This script attempts to test most of the functionality of the NSIS exehead.' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
-';--------------------------------\n' Comment
+';--------------------------------' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
@@ -40,7 +44,8 @@
 '!endif'      Comment.Preproc
 '\n\n'        Text.Whitespace
 
-';--------------------------------\n' Comment
+';--------------------------------' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
 'admin'       Name.Constant
 '\n\n'        Text.Whitespace
 
-';--------------------------------\n' Comment
+';--------------------------------' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
 'instfiles'   Text
 '\n\n'        Text.Whitespace
 
-';--------------------------------\n' Comment
+';--------------------------------' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
 ' '           Text.Whitespace
 'NOINSTTYPES' Text
 ' '           Text.Whitespace
-'; only if not defined\n' Comment
+'; only if not defined' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'InstType'    Keyword
 'Base'        Literal.String.Double
 '"'           Literal.String.Double
 '\n  '        Text.Whitespace
-';InstType /NOCUSTOM\n' Comment
+';InstType /NOCUSTOM' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
-';InstType /COMPONENTSONLYONCUSTOM\n' Comment
+';InstType /COMPONENTSONLYONCUSTOM' Comment
+'\n'          Text.Whitespace
 
 '!endif'      Comment.Preproc
 '\n\n'        Text.Whitespace
 'show'        Name.Constant
 '\n\n'        Text.Whitespace
 
-';--------------------------------\n' Comment
+';--------------------------------' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
 '"'           Literal.String.Double
 '"'           Literal.String.Double
 ' '           Text.Whitespace
-'; empty string makes it hidden, so would starting with -\n' Comment
+'; empty string makes it hidden, so would starting with -' Comment
+'\n'          Text.Whitespace
 
 '\n  '        Text.Whitespace
-'; write reg info\n' Comment
+'; write reg info' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'StrCpy'      Keyword
 '$INSTDIR'    Name.Variable.Global
 '"'           Literal.String.Double
 '\n\n  '      Text.Whitespace
-'; write uninstall strings\n' Comment
+'; write uninstall strings' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'WriteRegStr' Keyword
 '\\MyProjectFamily\\MyProject' Literal.String.Double
 '"'           Literal.String.Double
 ' '           Text.Whitespace
-'; 2 recursively create a directory for fun.\n' Comment
+'; 2 recursively create a directory for fun.' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'WriteUninstaller' Keyword
 '\n  \n  '    Text.Whitespace
 'Nop'         Keyword
 ' '           Text.Whitespace
-'; for fun\n' Comment
+'; for fun'   Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
 ' '           Text.Whitespace
 'NoOverwrite' Text
 ' '           Text.Whitespace
-"; skipped if file doesn't exist\n" Comment
+"; skipped if file doesn't exist" Comment
+'\n'          Text.Whitespace
 
 '\n    '      Text.Whitespace
 'BranchTest69' Name.Label
 ' '           Text.Whitespace
 'ifnewer'     Name.Constant
 ' '           Text.Whitespace
-'; NOT AN INSTRUCTION, NOT COUNTED IN SKIPPINGS\n' Comment
+'; NOT AN INSTRUCTION, NOT COUNTED IN SKIPPINGS' Comment
+'\n'          Text.Whitespace
 
 '\n  '        Text.Whitespace
 'NoOverwrite' Name.Label
 'LogicLib.nsi' Literal.String.Double
 '"'           Literal.String.Double
 ' '           Text.Whitespace
-'; skipped if answered no\n' Comment
+'; skipped if answered no' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'SetOverwrite' Keyword
 ' '           Text.Whitespace
 'try'         Name.Constant
 ' '           Text.Whitespace
-'; NOT AN INSTRUCTION, NOT COUNTED IN SKIPPINGS\n' Comment
+'; NOT AN INSTRUCTION, NOT COUNTED IN SKIPPINGS' Comment
+'\n'          Text.Whitespace
 
 '\n  '        Text.Whitespace
 'MessageBox'  Keyword
 'SectionEnd'  Keyword
 '\n\n'        Text.Whitespace
 
-';--------------------------------\n' Comment
+';--------------------------------' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
 ' '           Text.Whitespace
 '$INSTDIR'    Name.Variable.Global
 ' '           Text.Whitespace
-'; for working directory\n' Comment
+'; for working directory' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'CreateShortCut' Keyword
 '\\bt-uninst.exe' Literal.String.Double
 '"'           Literal.String.Double
 ' '           Text.Whitespace
-'; use defaults for parameters, icon, etc.\n' Comment
+'; use defaults for parameters, icon, etc.' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
-"; this one will use notepad's icon, start it minimized, and give it a hotkey (of Ctrl+Shift+Q)\n" Comment
+"; this one will use notepad's icon, start it minimized, and give it a hotkey (of Ctrl+Shift+Q)" Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'CreateShortCut' Keyword
 'FunctionEnd' Keyword
 '\n\n'        Text.Whitespace
 
-';--------------------------------\n' Comment
+';--------------------------------' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
-'; Uninstaller\n' Comment
+'; Uninstaller' Comment
+'\n'          Text.Whitespace
 
 '\n'          Text.Whitespace
 
 '\\cpdest'    Literal.String.Double
 '"'           Literal.String.Double
 ' '           Text.Whitespace
-'; skipped if no\n' Comment
+'; skipped if no' Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'NoDelete'    Name.Label
 ' '           Text.Whitespace
 '0'           Text
 ' '           Text.Whitespace
-"; skipped if file doesn't exist\n" Comment
+"; skipped if file doesn't exist" Comment
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'NoErrorMsg'  Name.Label
index 89b0ae3a25503f2d97876fbc5b82b27a750c6d28..5ec966c3ac3e17048c3dd0408356b12eaac39187 100644 (file)
@@ -1,63 +1,53 @@
 '/*\n * CPDictionary.j\n * Foundation\n *\n * Created by Francisco Tolmasky.\n * Copyright 2008, 280 North, Inc.\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library 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 GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n */' Comment.Multiline
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '//@import "CPRange.j"\n' Comment.Single
 
 '@import'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"CPObject.j"' Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@import'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"CPEnumerator.j"' Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@import'     Comment.Preproc
-' '           Text
+' '           Text.Whitespace
 '"CPException.j"' Literal.String.Double
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/* @ignore */' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@implementation' Keyword
-' '           Text
+' '           Text.Whitespace
 '_CPDictionaryValueEnumerator' Name.Class
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'CPEnumerator' Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'CPEnumerator' Name
-'    '        Text
+'    '        Text.Whitespace
 '_keyEnumerator' Name
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'CPDictionary' Name
-'    '        Text
+'    '        Text.Whitespace
 '_dictionary' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'CPDictionary' Keyword.Type
 ')'           Punctuation
 'aDictionary' Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'super'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'init'        Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'self'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 '_keyEnumerator' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'aDictionary' Name
-' '           Text
+' '           Text.Whitespace
 'keyEnumerator' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 '_dictionary' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'aDictionary' Name
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'nextObject'  Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'key'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '_keyEnumerator' Name
-' '           Text
+' '           Text.Whitespace
 'nextObject'  Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'key'         Name
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '_dictionary' Name
-' '           Text
+' '           Text.Whitespace
 'objectForKey' Name
 ':'           Operator
 'key'         Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '@end'        Keyword
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '/*! \n    @class CPDictionary\n    @ingroup foundation\n    @brief A mutable key-value pair collection.\n\n    A dictionary is the standard way of passing around key-value pairs in\n    the Cappuccino framework. It is similar to the\n    <a href="http://java.sun.com/javase/6/docs/api/index.html">Java map interface</a>,\n    except all keys are CPStrings and values can be any\n    Cappuccino or JavaScript object.\n\n    If you are familiar with dictionaries in Cocoa, you\'ll notice that\n    there is no CPMutableDictionary class. The regular CPDictionary\n    has \\c -setObject:forKey: and \\c -removeObjectForKey: methods.\n    In Cappuccino there is no distinction between immutable and mutable classes.\n    They are all mutable.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@implementation' Keyword
-' '           Text
+' '           Text.Whitespace
 'CPDictionary' Name.Class
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'CPObject'    Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*\n    @ignore\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'alloc'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'objj_dictionary' Name.Function
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Returns a new empty CPDictionary.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'dictionary'  Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'init'        Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Returns a new dictionary, initialized with the contents of \\c aDictionary.\n    @param aDictionary the dictionary to copy key-value pairs from\n    @return the new CPDictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'CPDictionary' Keyword.Type
 ')'           Punctuation
 'aDictionary' Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'initWithDictionary' Name
 ':'           Operator
 'aDictionary' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Creates a new dictionary with single key-value pair.\n    @param anObject the object for the paring\n    @param aKey the key for the pairing\n    @return the new CPDictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'anObject'    Text
-' '           Text
+' '           Text.Whitespace
 'forKey:'     Name.Function
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'aKey'        Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'initWithObjects' Name
 ':'           Operator
 '['           Punctuation
 'anObject'    Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'forKeys'     Name
 ':'           Operator
 '['           Punctuation
 ']'           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Creates a dictionary with multiple key-value pairs.\n    @param objects the objects to place in the dictionary\n    @param keys the keys for each of the objects\n    @throws CPInvalidArgumentException if the number of objects and keys is different\n    @return the new CPDictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'CPArray'     Keyword.Type
 ')'           Punctuation
 'objects'     Text
-' '           Text
+' '           Text.Whitespace
 'forKeys:'    Name.Function
 '('           Punctuation
 'CPArray'     Keyword.Type
 ')'           Punctuation
 'keys'        Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'initWithObjects' Name
 ':'           Operator
 'objects'     Name
-' '           Text
+' '           Text.Whitespace
 'forKeys'     Name
 ':'           Operator
 'keys'        Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Creates a dictionary with multiple key-value pairs.\n    @param JavaScript object\n    @return the new CPDictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'JSObject'    Keyword.Type
 ')'           Punctuation
 'object'      Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'dictionaryWithJSObject' Name
 ':'           Operator
 'object'      Name
-' '           Text
+' '           Text.Whitespace
 'recursively' Name
 ':'           Operator
 'NO'          Keyword.Constant
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Creates a dictionary with multiple key-value pairs, recursively.\n    @param JavaScript object\n    @return the new CPDictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'JSObject'    Keyword.Type
 ')'           Punctuation
 'object'      Text
-' '           Text
+' '           Text.Whitespace
 'recursively:' Name.Function
 '('           Punctuation
 'BOOL'        Keyword.Type
 ')'           Punctuation
 'recursively' Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'dictionary'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'init'        Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'        \n    ' Text
+'\n        \n    ' Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'key'         Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Name
 ')'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'object'      Name
 '['           Punctuation
 'key'         Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n        ' Text
+'\n    \n        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'recursively' Name
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'value'       Name
 '.'           Punctuation
 'constructor' Name
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 'Object'      Name.Builtin
 ')'           Punctuation
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'CPDictionary' Name
-' '           Text
+' '           Text.Whitespace
 'dictionaryWithJSObject' Name
 ':'           Operator
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 'recursively' Name
 ':'           Operator
 'YES'         Keyword.Constant
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n        ' Text
+'\n    \n        ' Text.Whitespace
 '['           Punctuation
 'dictionary'  Name
-' '           Text
+' '           Text.Whitespace
 'setObject'   Name
 ':'           Operator
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 'forKey'      Name
 ':'           Operator
 'key'         Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'dictionary'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Creates and returns a dictionary constructed by a given pairs of keys and values.\n    @param firstObject first object value\n    @param ... key for the first object and ongoing value-key pairs for more objects.\n    @throws CPInvalidArgumentException if the number of objects and keys is different\n    @return the new CPDictionary\n    \n    Assuming that there\'s no object retaining in Cappuccino, you can create\n    dictionaries same way as with alloc and initWithObjectsAndKeys:\n    var dict = [CPDictionary dictionaryWithObjectsAndKeys:\n    @"value1", @"key1",\n    @"value2", @"key2"];\n    \n    Note, that there\'s no final nil like in Objective-C/Cocoa.\n    \n    @see [CPDictionary initWithObjectsAndKeys:]\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
 'firstObject' Text
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'arguments'   Name
 '['           Punctuation
 '0'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'arguments'   Name
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@selector'   Keyword
 '('           Punctuation
 'initWithObjectsAndKeys' Name
 ':'           Operator
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'objj_msgSend' Name
 '.'           Punctuation
 'apply'       Name.Function
 '('           Punctuation
 'this'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'arguments'   Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Initializes the dictionary with the contents of another dictionary.\n    @param aDictionary the dictionary to copy key-value pairs from\n    @return the initialized dictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'CPDictionary' Keyword.Type
 ')'           Punctuation
 'aDictionary' Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'key'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '"'           Literal.String
 ','           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'dictionary'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'CPDictionary' Name
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'init'        Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'key'         Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 'aDictionary' Name
 '.'           Punctuation
 '_buckets'    Name
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 '['           Punctuation
 'dictionary'  Name
-' '           Text
+' '           Text.Whitespace
 'setObject'   Name
 ':'           Operator
 '['           Punctuation
 'aDictionary' Name
-' '           Text
+' '           Text.Whitespace
 'objectForKey' Name
 ':'           Operator
 'key'         Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'forKey'      Name
 ':'           Operator
 'key'         Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'        \n    ' Text
+'\n        \n    ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'dictionary'  Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Initializes the dictionary from the arrays of keys and objects.\n    @param objects the objects to put in the dictionary\n    @param keyArray the keys for the objects to put in the dictionary\n    @throws CPInvalidArgumentException if the number of objects and keys is different\n    @return the initialized dictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'CPArray'     Keyword.Type
 ')'           Punctuation
 'objects'     Text
-' '           Text
+' '           Text.Whitespace
 'forKeys:'    Name.Function
 '('           Punctuation
 'CPArray'     Keyword.Type
 ')'           Punctuation
 'keyArray'    Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'super'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'init'        Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '['           Punctuation
 'objects'     Name
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'keyArray'    Name
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 '['           Punctuation
 'CPException' Name
-' '           Text
+' '           Text.Whitespace
 'raise'       Name
 ':'           Operator
 'CPInvalidArgumentException' Name
-' '           Text
+' '           Text.Whitespace
 'reason'      Name
 ':'           Operator
 '"'           Literal.String
 '+'           Operator
 '['           Punctuation
 'objects'     Name
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ']'           Punctuation
 '+'           Operator
 '+'           Operator
 '['           Punctuation
 'keyArray'    Name
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ']'           Punctuation
 '+'           Operator
 '"'           Literal.String
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'self'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'keyArray'    Name
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'        \n        ' Text
+'\n        \n        ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '--'          Operator
 ')'           Punctuation
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'setObject'   Name
 ':'           Operator
 'objects'     Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'forKey'      Name
 ':'           Operator
 'keyArray'    Name
 ']'           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Creates and returns a dictionary constructed by a given pairs of keys and values.\n    @param firstObject first object value\n    @param ... key for the first object and ongoing value-key pairs for more objects.\n    @throws CPInvalidArgumentException if the number of objects and keys is different\n    @return the new CPDictionary\n    \n    You can create dictionaries this way:\n    var dict = [[CPDictionary alloc] initWithObjectsAndKeys:\n    @"value1", @"key1",\n    @"value2", @"key2"];\n    \n    Note, that there\'s no final nil like in Objective-C/Cocoa.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 ')'           Punctuation
 'firstObject' Text
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'argCount'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'arguments'   Name
 '.'           Punctuation
 'length'      Name
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'argCount'    Name
-' '           Text
+' '           Text.Whitespace
 '%'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 '['           Punctuation
 'CPException' Name
-' '           Text
+' '           Text.Whitespace
 'raise'       Name
 ':'           Operator
 'CPInvalidArgumentException' Name
-' '           Text
+' '           Text.Whitespace
 'reason'      Name
 ':'           Operator
 '"'           Literal.String
 'Key-value count is mismatched. (' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'argCount'    Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ' arguments passed)' Literal.String
 '"'           Literal.String
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'super'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'init'        Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'self'        Name.Builtin
 ')'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 '// The arguments array contains self and _cmd, so the first object is at position 2.\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
-
-'        \n        ' Text
+'\n        \n        ' Text.Whitespace
 'for'         Keyword
 '('           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'argCount'    Name
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 '{'           Punctuation
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'arguments'   Name
 '['           Punctuation
 'index'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
+'\n\n            ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
 ')'           Punctuation
-'\n'          Text
-
-'                ' Text
+'\n                ' Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'            ' Text
+'\n\n            ' Text.Whitespace
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'setObject'   Name
 ':'           Operator
 'value'       Name
-' '           Text
+' '           Text.Whitespace
 'forKey'      Name
 ':'           Operator
 'arguments'   Name
 '['           Punctuation
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ']'           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 '}'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'self'        Name.Builtin
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    return a copy of the receiver (does not deep copy the objects contained in the dictionary).\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CPDictionary' Keyword.Type
 ')'           Punctuation
 'copy'        Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'CPDictionary' Name
-' '           Text
+' '           Text.Whitespace
 'dictionaryWithDictionary' Name
 ':'           Operator
 'self'        Name.Builtin
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Returns the number of entries in the dictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'int'         Keyword.Type
 ')'           Punctuation
 'count'       Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Returns an array of keys for all the entries in the dictionary.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CPArray'     Keyword.Type
 ')'           Punctuation
 'allKeys'     Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '_keys'       Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Returns an array of values for all the entries in the dictionary.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CPArray'     Keyword.Type
 ')'           Punctuation
 'allValues'   Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_keys'       Name
 '.'           Punctuation
 'length'      Name
 ','           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'values'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'        \n    ' Text
+'\n        \n    ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'index'       Name
 '--'          Operator
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'values'      Name
 '.'           Punctuation
 'push'        Name.Function
 '('           Punctuation
 'self'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '_keys'       Name
 '['           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'values'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 "/*!\n    Returns an enumerator that enumerates over all the dictionary's keys.\n*/" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CPEnumerator' Keyword.Type
 ')'           Punctuation
 'keyEnumerator' Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '_keys'       Name
-' '           Text
+' '           Text.Whitespace
 'objectEnumerator' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 "/*!\n    Returns an enumerator that enumerates over all the dictionary's values.\n*/" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CPEnumerator' Keyword.Type
 ')'           Punctuation
 'objectEnumerator' Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 '_CPDictionaryValueEnumerator' Name
-' '           Text
+' '           Text.Whitespace
 'alloc'       Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'initWithDictionary' Name
 ':'           Operator
 'self'        Name.Builtin
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Compare the receiver to this dictionary, and return whether or not they are equal. \n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'BOOL'        Keyword.Type
 ')'           Punctuation
 'CPDictionary' Keyword.Type
 ')'           Punctuation
 'aDictionary' Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'count'       Name
-' '           Text
+' '           Text.Whitespace
 '!=='         Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'aDictionary' Name
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'NO'          Keyword.Constant
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'index'       Name
 '--'          Operator
 ')'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'currentKey'  Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_keys'       Name
 '['           Punctuation
 'index'       Name
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 'lhsObject'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_buckets'    Name
 '['           Punctuation
 'currentKey'  Name
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 'rhsObject'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'aDictionary' Name
 '.'           Punctuation
 '_buckets'    Name
 'currentKey'  Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
+'\n\n        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lhsObject'   Name
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 'rhsObject'   Name
 ')'           Punctuation
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
-
-'            \n        ' Text
+'\n            \n        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'lhsObject'   Name
 '.'           Punctuation
 'isa'         Name
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'rhsObject'   Name
 '.'           Punctuation
 'isa'         Name
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'lhsObject'   Name
-' '           Text
+' '           Text.Whitespace
 'respondsToSelector' Name
 ':'           Operator
 '@selector'   Keyword
 ':'           Operator
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'lhsObject'   Name
-' '           Text
+' '           Text.Whitespace
 'isEqual'     Name
 ':'           Operator
 'rhsObject'   Name
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 'continue'    Keyword
 ';'           Punctuation
-'\n'          Text
-
-'        \n        ' Text
+'\n        \n        ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'NO'          Keyword.Constant
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'YES'         Keyword.Constant
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*\n    Instance.isEqualToDictionary(aDictionary)\n    {\n        if(this.count()!=aDictionary.count()) return NO;\n        \n        var i= this._keys.count();\n        while(i--) if(this.objectForKey(this._keys[i])!=aDictionary.objectForKey(this._keys[i])) return NO;\n        \n        return YES;\n    }\n    \n    Instance.allKeys()\n    {\n        return this._keys;\n    }\n    \n    Instance.allKeysForObject(anObject)\n    {\n        var i= 0,\n            keys= CPArray.array(),\n            count= this.count();\n        \n        while((i= this._objects.indexOfObjectInRage(0, count-i))!=CPNotFound) keys.addObject(this._keys[i]);\n        \n        return keys;\n    }\n    \n    Instance.allValues()\n    {\n        return this._objects;\n    }\n    \n    Instance.keyEnumerator()\n    {\n        return this._keys.objectEnumerator();\n    }\n    \n    Instance.keysSortedByValueUsingSelector(aSelector)\n    {\n        var dictionary= this,\n            objectSelector= function(rhs)\n            {\n                return aSelector.apply(dictionary.objectForKey(this), [dictionary.objectForKey(rhs)]);\n            };\n        \n        return this._keys.sortedArrayUsingSelector(objectSelector);\n    }\n    \n    Instance.objectEnumerator()\n    {\n        return this._objects.objectEnumerator();\n    }\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/*!\n    Returns the object for the entry with key \\c aKey.\n    @param aKey the key for the object's entry\n    @return the object for the entry\n*/" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'CPString'    Keyword.Type
 ')'           Punctuation
 'aKey'        Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'object'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_buckets'    Name
 '['           Punctuation
 'aKey'        Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 'undefined'   Keyword.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'nil'         Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'object'      Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n    Instance.objectsForKeys(keys, aNotFoundMarker)\n    {\n        var i= keys.length,\n            objects= CPArray.array();\n        \n        while(i--)\n        {\n            var object= this.objectForKey(keys[i]);\n            objects.addObject(object==nil?aNotFoundMarker:object);\n        }\n        \n        return objects;\n    }\n    \n    Instance.valueForKey(aKey)\n    {\n        if(aKey.length && aKey[0]=="@") return this.objectForKey(aKey.substr(1));\n        \n        return base.valueForKey(aKey);\n    }\n    \n    //\n    \n    Instance.addEntriesFromDictionary(aDictionary)\n    {\n        var key,\n            keyEnumerator= aDictionary.keyEnumerator();\n\n        while(key= keyEnumerator.nextObject()) this.setObjectForKey(aDictionary.objectForKey(key), key);\n    }\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*!\n    Removes all the entries from the dictionary.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 'removeAllObjects' Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '_keys'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'count'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '_buckets'    Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Removes the entry for the specified key.\n    @param aKey the key of the entry to be removed\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'aKey'        Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'dictionary_removeValue' Name.Function
 '('           Punctuation
 'self'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'aKey'        Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Removes each entry in allKeys from the receiver.\n    @param allKeys an array of keys that will be removed from the dictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 'CPArray'     Keyword.Type
 ')'           Punctuation
 'allKeys'     Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'allKeys'     Name
 '.'           Punctuation
 'length'      Name
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'index'       Name
 '--'          Operator
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'dictionary_removeValue' Name.Function
 '('           Punctuation
 'self'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'allKeys'     Name
 '['           Punctuation
 'index'       Name
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*\n    Instance.removeObjectForKey(aKey)\n    {\n        var entry= this._dictionary[aKey];\n        \n        if(entry)\n        {\n            var range= CPMakeRange(entry.index, 1);\n            \n            this._keys.removeObjectsInRange(range);\n            this._objects.removeObjectsInRange(range);\n        \n            delete this._dictionary[aKey];\n        }\n    }\n    \n    Instance.setDictionary(aDictionary)\n    {\n        this._keys= CPArray.arrayWithArray(aDictionary.allKeys());\n        this._objects= CPArray.arrayWithArray(aDictionary.allValues());\n        \n        this._dictionary= { };\n        \n        var i= this._keys.count();\n        while(i--) this._dictionary[this._keys[i]]= { object: this._objects[i], index: i };\n    }\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 "/*!\n    Adds an entry into the dictionary.\n    @param anObject the object for the entry\n    @param aKey the entry's key\n*/" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'anObject'    Text
-' '           Text
+' '           Text.Whitespace
 'forKey:'     Name.Function
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'aKey'        Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'dictionary_setValue' Name.Function
 '('           Punctuation
 'self'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'aKey'        Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'anObject'    Name
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*\n    Instance.setValueForKey(aValue, aKey)\n    {\n        if(!aValue) this.removeObjectForKey(aKey);\n        else this.setObjectForKey(aValue, aKey);\n    }\n    \n    Instance.copy()\n    {\n        return CPDictionary.alloc().dictionaryWithDictionary(this);\n    }\n*/' Comment.Multiline
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Take all the key/value pairs in aDictionary and apply them to this dictionary.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 'CPDictionary' Keyword.Type
 ')'           Punctuation
 'aDictionary' Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '!'           Operator
 'aDictionary' Name
 ')'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'return'      Keyword
 ';'           Punctuation
-'\n'          Text
-
-'        \n    ' Text
+'\n        \n    ' Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'keys'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'aDictionary' Name
-' '           Text
+' '           Text.Whitespace
 'allKeys'     Name
 ']'           Punctuation
 ','           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'index'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'keys'        Name
-' '           Text
+' '           Text.Whitespace
 'count'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'index'       Name
 '--'          Operator
 ')'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'key'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'keys'        Name
 '['           Punctuation
 'index'       Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
+'\n\n        ' Text.Whitespace
 '['           Punctuation
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'setObject'   Name
 ':'           Operator
 '['           Punctuation
 'aDictionary' Name
-' '           Text
+' '           Text.Whitespace
 'objectForKey' Name
 ':'           Operator
 'key'         Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'forKey'      Name
 ':'           Operator
 'key'         Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Returns a human readable description of the dictionary.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CPString'    Keyword.Type
 ')'           Punctuation
 'description' Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'description' Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '@"'          Literal.String
 'CPDictionary {' Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_keys'       Name
 '.'           Punctuation
 'length'      Name
 ';'           Punctuation
-'\n'          Text
-
-'    \n    '  Text
+'\n    \n    ' Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 '--'          Operator
 ')'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '{'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'description' Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '_keys'       Name
 '['           Punctuation
 'i'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ':'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
+'\n\n        ' Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'object'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_buckets'    Name
 '['           Punctuation
 '_keys'       Name
 ']'           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
+'\n\n        ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'object'      Name
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'object'      Name
 '.'           Punctuation
 'isa'         Name
 ')'           Punctuation
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 'description' Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'object'      Name
-' '           Text
+' '           Text.Whitespace
 'description' Name
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
-
-'        '    Text
+'\n        '  Text.Whitespace
 'else'        Keyword
-'\n'          Text
-
-'            ' Text
+'\n            ' Text.Whitespace
 'description' Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 'object'      Name
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'        '    Text
+'\n\n        ' Text.Whitespace
 'description' Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '\\n'         Literal.String.Escape
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'description' Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '}'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
-
-'\n'          Text
-
-'    '        Text
+'\n\n    '    Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 'description' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '@end'        Keyword
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '@implementation' Keyword
-' '           Text
+' '           Text.Whitespace
 'CPDictionary' Name.Class
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'CPCoding'    Name.Label
 ')'           Text
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*\n    Initializes the dictionary by unarchiving the data from a coder.\n    @param aCoder the coder from which the data will be unarchived.\n    @return the initialized dictionary\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Keyword.Type
 ')'           Punctuation
 'CPCoder'     Keyword.Type
 ')'           Punctuation
 'aCoder'      Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 'return'      Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'aCoder'      Name
-' '           Text
+' '           Text.Whitespace
 '_decodeDictionaryOfObjectsForKey' Name
 ':'           Operator
 '@"'          Literal.String
 '"'           Literal.String
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    Archives the dictionary to a provided coder.\n    @param aCoder the coder to which the dictionary data will be archived.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'void'        Keyword.Type
 ')'           Punctuation
 'CPCoder'     Keyword.Type
 ')'           Punctuation
 'aCoder'      Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '{'           Punctuation
-'\n'          Text
-
-'    '        Text
+'\n    '      Text.Whitespace
 '['           Punctuation
 'aCoder'      Name
-' '           Text
+' '           Text.Whitespace
 '_encodeDictionaryOfObjects' Name
 ':'           Operator
 'self'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'forKey'      Name
 ':'           Operator
 '@"'          Literal.String
 '"'           Literal.String
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '@end'        Keyword
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '/*!\n    @class CPMutableDictionary\n    @ingroup compatability\n\n    This class is just an empty subclass of CPDictionary.\n    CPDictionary already implements mutable methods and\n    this class only exists for source compatability.\n*/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@implementation' Keyword
-' '           Text
+' '           Text.Whitespace
 'CPMutableDictionary' Name.Class
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'CPDictionary' Name.Class
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '@end'        Keyword
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'objj_dictionary' Name
 '.'           Punctuation
 'prototype'   Keyword
 '.'           Punctuation
 'isa'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'CPDictionary' Name
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 0c71d35c71ed0646d6c704f7c2948aa440d3d26e..9693d6d7731eb04edb1f67da7a54bc07cb31c065 100644 (file)
 "/**\n *  This script is an example recommender (using made up data) showing how you might modify item-item links\n *  by defining similar relations between items in a dataset and customizing the change in weighting.\n *  This example creates metadata by using the genre field as the metadata_field.  The items with\n *  the same genre have it's weight cut in half in order to boost the signals of movies that do not have the same genre.\n *  This technique requires a customization of the standard GetItemItemRecommendations macro\n */" Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 "'recommenders.pig'" Literal.String
 ';'           Punctuation
-'\n\n\n\n'    Text
+'\n\n\n\n'    Text.Whitespace
 
 '%default'    Keyword
-' '           Text
+' '           Text.Whitespace
 'INPUT_PATH_PURCHASES' Text
-' '           Text
+' '           Text.Whitespace
 "'../data/retail/purchases.json'" Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%default'    Keyword
-' '           Text
+' '           Text.Whitespace
 'INPUT_PATH_WISHLIST' Text
-' '           Text
+' '           Text.Whitespace
 "'../data/retail/wishlists.json'" Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%default'    Keyword
-' '           Text
+' '           Text.Whitespace
 'INPUT_PATH_INVENTORY' Text
-' '           Text
+' '           Text.Whitespace
 "'../data/retail/inventory.json'" Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%default'    Keyword
-' '           Text
+' '           Text.Whitespace
 'OUTPUT_PATH' Text
-' '           Text
+' '           Text.Whitespace
 "'../data/retail/out/modify_item_item'" Literal.String
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '/******** Custom GetItemItemRecommnedations *********/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'recsys__GetItemItemRecommendations_ModifyCustom' Name.Function
 '('           Punctuation
 'user_item_signals,' Text
-' '           Text
+' '           Text.Whitespace
 'metadata'    Text
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'returns'     Keyword
-' '           Text
+' '           Text.Whitespace
 'item_item_recs' Text
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '-- Convert user_item_signals to an item_item_graph' Comment
-'\n    '      Text
+'\n    '      Text.Whitespace
 'ii_links_raw,' Text
-' '           Text
+' '           Text.Whitespace
 'item_weights' Text
-'   '         Text
+'   '         Text.Whitespace
 '='           Operator
-'   '         Text
+'   '         Text.Whitespace
 'recsys__BuildItemItemGraph' Name.Function
 '('           Punctuation
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 '$user_item_signals,' Text
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 '$LOGISTIC_PARAM,' Text
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 '$MIN_LINK_WEIGHT,' Text
-'\n                                       ' Text
+'\n                                       ' Text.Whitespace
 '$MAX_LINKS_PER_USER' Text
-'\n                                     ' Text
+'\n                                     ' Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '-- NOTE this function is added in order to combine metadata with item-item links' Comment
-'\n        '  Text
+'\n        '  Text.Whitespace
 '-- See macro for more detailed explination' Comment
-'\n    '      Text
+'\n    '      Text.Whitespace
 'ii_links_metadata' Text
-'           ' Text
+'           ' Text.Whitespace
 '='           Operator
-'   '         Text
+'   '         Text.Whitespace
 'recsys__AddMetadataToItemItemLinks' Name.Function
 '('           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 'ii_links_raw,' Text
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 '$metadata'   Text
-'\n                                    ' Text
+'\n                                    ' Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '/********* Custom Code starts here ********/' Comment.Multiline
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '--The code here should adjust the weights based on an item-item link and the equality of metadata.' Comment
-'\n    '      Text
+'\n    '      Text.Whitespace
 '-- In this case, if the metadata is the same, the weight is reduced.  Otherwise the weight is left alone.' Comment
-'\n    '      Text
+'\n    '      Text.Whitespace
 'ii_links_adjusted' Text
-'           ' Text
+'           ' Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'foreach'     Keyword
-' '           Text
+' '           Text.Whitespace
 'ii_links_metadata' Text
-' '           Text
+' '           Text.Whitespace
 'generate'    Keyword
-' '           Text
+' '           Text.Whitespace
 'item_A,'     Text
-' '           Text
+' '           Text.Whitespace
 'item_B,'     Text
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 '-- the amount of weight adjusted is dependant on the domain of data and what is expected' Comment
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 '-- It is always best to adjust the weight by multiplying it by a factor rather than addition with a constant' Comment
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 '('           Punctuation
 'metadata_B'  Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'metadata_A'  Text
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'weight'      Text
-' '           Text
+' '           Text.Whitespace
 '*'           Text
-' '           Text
+' '           Text.Whitespace
 '0.5'         Literal.Number.Float
 ')'           Punctuation
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'weight'      Text
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'weight;'     Text
-'\n\n\n    '  Text
+'\n\n\n    '  Text.Whitespace
 '/******** Custom Code stops here *********/' Comment.Multiline
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '-- remove negative numbers just incase' Comment
-'\n    '      Text
+'\n    '      Text.Whitespace
 'ii_links_adjusted_filt' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'foreach'     Keyword
-' '           Text
+' '           Text.Whitespace
 'ii_links_adjusted' Text
-' '           Text
+' '           Text.Whitespace
 'generate'    Keyword
-' '           Text
+' '           Text.Whitespace
 'item_A,'     Text
-' '           Text
+' '           Text.Whitespace
 'item_B,'     Text
-'\n                                      ' Text
+'\n                                      ' Text.Whitespace
 '('           Punctuation
 'weight'      Text
-' '           Text
+' '           Text.Whitespace
 '<='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'weight'      Text
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'weight;'     Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 '-- Adjust the weights of the graph to improve recommendations.' Comment
-'\n    '      Text
+'\n    '      Text.Whitespace
 'ii_links'    Text
-'                    ' Text
+'                    ' Text.Whitespace
 '='           Operator
-'   '         Text
+'   '         Text.Whitespace
 'recsys__AdjustItemItemGraphWeight' Name.Function
 '('           Punctuation
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 'ii_links_adjusted_filt,' Text
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 'item_weights,' Text
-'\n                                        ' Text
+'\n                                        ' Text.Whitespace
 '$BAYESIAN_PRIOR' Text
-'\n                                    ' Text
+'\n                                    ' Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '-- Use the item-item graph to create item-item recommendations.' Comment
-'\n    '      Text
+'\n    '      Text.Whitespace
 '$item_item_recs' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'recsys__BuildItemItemRecommendationsFromGraph' Name.Function
 '('           Punctuation
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 'ii_links,'   Text
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '$NUM_RECS_PER_ITEM,' Text
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '$NUM_RECS_PER_ITEM' Text
-'\n                       ' Text
+'\n                       ' Text.Whitespace
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ';'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '/******* Load Data **********/' Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '--Get purchase signals' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'purchase_input' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'$INPUT_PATH_PURCHASES'" Literal.String
-' '           Text
+' '           Text.Whitespace
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'org.apache.pig.piggybank.storage.JsonLoader' Text
 '('           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 "'row_id: "   Text
 'int'         Keyword.Type
 ','           Operator
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 'movie_id'    Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'chararray'   Keyword.Type
 ','           Operator
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 'movie_name'  Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'chararray'   Keyword.Type
 ','           Operator
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 'user_id'     Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'chararray'   Keyword.Type
 ','           Operator
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 'purchase_price' Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 "');\n\n"     Text
 
 '--Get wishlist signals' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'wishlist_input' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'  '          Text
+'  '          Text.Whitespace
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'$INPUT_PATH_WISHLIST'" Literal.String
-' '           Text
+' '           Text.Whitespace
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'org.apache.pig.piggybank.storage.JsonLoader' Text
 '('           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 "'row_id: "   Text
 'int'         Keyword.Type
 ','           Operator
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 'movie_id'    Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'chararray'   Keyword.Type
 ','           Operator
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 'movie_name'  Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'chararray'   Keyword.Type
 ','           Operator
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 'user_id'     Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'chararray'   Keyword.Type
 "');\n\n\n"   Text
 
 '/******* Convert Data to Signals **********/' Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '-- Start with choosing 1 as max weight for a signal.' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'purchase_signals' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'foreach'     Keyword
-' '           Text
+' '           Text.Whitespace
 'purchase_input' Text
-' '           Text
+' '           Text.Whitespace
 'generate'    Keyword
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 'user_id'     Text
-'    '        Text
+'    '        Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'user,'       Text
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 'movie_name'  Text
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'item,'       Text
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '1.0'         Literal.Number.Float
-'        '    Text
+'        '    Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'weight;'     Text
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '-- Start with choosing 0.5 as weight for wishlist items because that is a weaker signal than' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-- purchasing an item.' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'wishlist_signals' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'foreach'     Keyword
-' '           Text
+' '           Text.Whitespace
 'wishlist_input' Text
-' '           Text
+' '           Text.Whitespace
 'generate'    Keyword
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 'user_id'     Text
-'    '        Text
+'    '        Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'user,'       Text
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 'movie_name'  Text
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'item,'       Text
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '0.5'         Literal.Number.Float
-'        '    Text
+'        '    Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'weight;'     Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'user_signals' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'union'       Keyword
-' '           Text
+' '           Text.Whitespace
 'purchase_signals,' Text
-' '           Text
+' '           Text.Whitespace
 'wishlist_signals;' Text
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '/******** Changes for Modifying item-item links ******/' Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inventory_input' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'load'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'$INPUT_PATH_INVENTORY'" Literal.String
-' '           Text
+' '           Text.Whitespace
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'org.apache.pig.piggybank.storage.JsonLoader' Text
 '('           Punctuation
-'\n                     ' Text
+'\n                     ' Text.Whitespace
 "'movie_title: " Text
 'chararray'   Keyword.Type
 ','           Operator
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 'genres'      Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'bag'         Keyword
 '{'           Punctuation
 'tuple'       Keyword.Type
 "');\n\n\n"   Text
 
 'metadata'    Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'foreach'     Keyword
-' '           Text
+' '           Text.Whitespace
 'inventory_input' Text
-' '           Text
+' '           Text.Whitespace
 'generate'    Keyword
-'\n              ' Text
+'\n              ' Text.Whitespace
 'FLATTEN'     Keyword
 '('           Punctuation
 'genres'      Text
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'metadata_field,' Text
-'\n              ' Text
+'\n              ' Text.Whitespace
 'movie_title' Text
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword
-' '           Text
+' '           Text.Whitespace
 'item;'       Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-- requires the macro to be written seperately' Comment
-'\n  '        Text
+'\n  '        Text.Whitespace
 '--NOTE this macro is defined within this file for clarity' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'item_item_recs' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'recsys__GetItemItemRecommendations_ModifyCustom' Name.Function
 '('           Punctuation
 'user_signals,' Text
-' '           Text
+' '           Text.Whitespace
 'metadata'    Text
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/******* No more changes ********/' Comment.Multiline
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 'user_item_recs' Text
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'recsys__GetUserItemRecommendations' Name.Function
 '('           Punctuation
 'user_signals,' Text
-' '           Text
+' '           Text.Whitespace
 'item_item_recs' Text
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '--Completely unrelated code stuck in the middle' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'data'        Text
-'        '    Text
+'        '    Text.Whitespace
 '='           Operator
-'    '        Text
+'    '        Text.Whitespace
 'LOAD'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'s3n://my-s3-bucket/path/to/responses'" Literal.String
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 'USING'       Keyword
-' '           Text
+' '           Text.Whitespace
 'org.apache.pig.piggybank.storage.JsonLoader' Text
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'responses'   Text
-'   '         Text
+'   '         Text.Whitespace
 '='           Operator
-'    '        Text
+'    '        Text.Whitespace
 'FOREACH'     Keyword
-' '           Text
+' '           Text.Whitespace
 'data'        Text
-' '           Text
+' '           Text.Whitespace
 'GENERATE'    Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Text
 '#'           Operator
 "'response'"  Literal.String
-' '           Text
+' '           Text.Whitespace
 'AS'          Keyword
-' '           Text
+' '           Text.Whitespace
 'response'    Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'map'         Keyword
 '['           Punctuation
 ']'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'out'         Text
-'         '   Text
+'         '   Text.Whitespace
 '='           Operator
-'    '        Text
+'    '        Text.Whitespace
 'FOREACH'     Keyword
-' '           Text
+' '           Text.Whitespace
 'responses'   Text
-'\n                 ' Text
+'\n                 ' Text.Whitespace
 'GENERATE'    Keyword
-' '           Text
+' '           Text.Whitespace
 'response'    Text
 '#'           Operator
 "'id'"        Literal.String
-' '           Text
+' '           Text.Whitespace
 'AS'          Keyword
-' '           Text
+' '           Text.Whitespace
 'id'          Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'int'         Keyword.Type
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'response'    Text
 '#'           Operator
 "'thread'"    Literal.String
-' '           Text
+' '           Text.Whitespace
 'AS'          Keyword
-' '           Text
+' '           Text.Whitespace
 'thread'      Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'chararray'   Keyword.Type
 ','           Operator
-'\n                          ' Text
+'\n                          ' Text.Whitespace
 'response'    Text
 '#'           Operator
 "'comments'"  Literal.String
-' '           Text
+' '           Text.Whitespace
 'AS'          Keyword
-' '           Text
+' '           Text.Whitespace
 'comments'    Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 't'           Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'comment'     Text
 ':'           Text
-' '           Text
+' '           Text.Whitespace
 'chararray'   Keyword.Type
 ')'           Punctuation
 '}'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'STORE'       Keyword
-' '           Text
+' '           Text.Whitespace
 'out'         Text
-' '           Text
+' '           Text.Whitespace
 'INTO'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'s3n://path/to/output'" Literal.String
-' '           Text
+' '           Text.Whitespace
 'USING'       Keyword
-' '           Text
+' '           Text.Whitespace
 'PigStorage'  Name.Builtin
 '('           Punctuation
 "'|'"         Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '/******* Store recommendations **********/' Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '--  If your output folder exists already, hadoop will refuse to write data to it.' Comment
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'rmf'         Keyword
-' '           Text
+' '           Text.Whitespace
 '$OUTPUT_PATH/item_item_recs;' Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'rmf'         Keyword
-' '           Text
+' '           Text.Whitespace
 '$OUTPUT_PATH/user_item_recs;' Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'store'       Keyword
-' '           Text
+' '           Text.Whitespace
 'item_item_recs' Text
-' '           Text
+' '           Text.Whitespace
 'into'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'$OUTPUT_PATH/item_item_recs'" Literal.String
-' '           Text
+' '           Text.Whitespace
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'PigStorage'  Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'store'       Keyword
-' '           Text
+' '           Text.Whitespace
 'user_item_recs' Text
-' '           Text
+' '           Text.Whitespace
 'into'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'$OUTPUT_PATH/user_item_recs'" Literal.String
-' '           Text
+' '           Text.Whitespace
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'PigStorage'  Name.Builtin
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '-- STORE the item_item_recs into dynamo' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'STORE'       Keyword
-' '           Text
+' '           Text.Whitespace
 'item_item_recs' Text
-'\n '         Text
+'\n '         Text.Whitespace
 'INTO'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'$OUTPUT_PATH/unused-ii-table-data'" Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'USING'       Keyword
-' '           Text
+' '           Text.Whitespace
 'com.mortardata.pig.storage.DynamoDBStorage' Text
 '('           Punctuation
 "'$II_TABLE'" Literal.String
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'$AWS_ACCESS_KEY_ID'" Literal.String
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'$AWS_SECRET_ACCESS_KEY'" Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '-- STORE the user_item_recs into dynamo' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'STORE'       Keyword
-' '           Text
+' '           Text.Whitespace
 'user_item_recs' Text
-'\n '         Text
+'\n '         Text.Whitespace
 'INTO'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'$OUTPUT_PATH/unused-ui-table-data'" Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'USING'       Keyword
-' '           Text
+' '           Text.Whitespace
 'com.mortardata.pig.storage.DynamoDBStorage' Text
 '('           Punctuation
 "'$UI_TABLE'" Literal.String
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'$AWS_ACCESS_KEY_ID'" Literal.String
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 "'$AWS_SECRET_ACCESS_KEY'" Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 33dd702a70372712f5a4c552b37b706129d7dd83..15a0ec53385348aeac05fc98f82b30776fb7c5b5 100644 (file)
 '"'           Literal.String
 'string'      Literal.String
 '"'           Literal.String
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'return'      Keyword
 ' '           Text.Whitespace
 '"'           Literal.String
 'object'      Literal.String
 '"'           Literal.String
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'return'      Keyword
 ' '           Text.Whitespace
index 847ed4513eaf50dd84a5bfff0ef7b3522f7b4658..1c6a5057ce74c1242ddf8d888ef765df9d630d2b 100644 (file)
@@ -1,18 +1,69 @@
+#version 3.7;
 #include "colors.inc"    
 
-background { color Cyan }
-
 camera {
-  location <0, 2, -3>
-  look_at <0, 1, 2>
+  sky <0,0,1>
+  direction <-1,0,0>
+  right <-4/3,0,0>
+  location <-300,-800,600>
+  look_at <0,0,0>     //Where camera is pointing
+  angle 30
+  rotate <0,0,-360*(clock+0.10)>
+}
+
+global_settings { ambient_light White }
+background { color White }
+
+light_source {
+  <0,0,500>
+  color White*2
+  spotlight
+  radius 100
+  area_light <100, 0, 0>, <0, 0, 100>, 3, 3
+  adaptive 1
+  jitter
 }
 
-sphere {
-  <0, 1, 2>, 2
-  texture {
-    pigment { color Yellow }
+union {
+  sphere {
+    <0, 1, 2>, 2
+    texture {
+      pigment { color Yellow }
+      finish {
+        ambient 0.1
+        brilliance 1.5
+        diffuse .5
+      }
+      normal {
+        scale 0.3
+        wrinkles 0.4
+      }
+    }
   }
+  cylinder{-x,x,.57,1 scale <1,2,3>}
 }
 
-light_source { <2, 4, -3> color White}
+#macro Tangent(position, row1, row2, row3)
+  #if (vlength(row1)!=0 | row2.x <= 7)
+    object {
+      cylinder { 
+        <0, 0, 0>, <0, 0, 1>, 0.7*50
+        texture {
+          pigment {
+            rgb <0.7,0.0,0.3> transmit 0.7
+          }
+        }
+      }
+      matrix <row1.x, row2.x, row3.x,
+              row1.y, row2.y, row3.y,
+              row1.z, row2.z, row3.z,
+              0, 0, 0>
+      translate position
+    }
+  #end
+#end
+
+Tangent(<-200.0, 42, .75>)
+
+#include concat("data-", str(frame_number, 1, 0), ".inc")
 
index 15d6189fa80cc88045106682bb73568a34efc94f..30ea0b7e2f4b270d162e42ff9cd1ed140d467a52 100644 (file)
+'#version'    Comment.Preproc
+' '           Text.Whitespace
+'3.7'         Literal.Number.Float
+';'           Punctuation
+'\n'          Text.Whitespace
+
 '#include'    Comment.Preproc
 ' '           Text.Whitespace
 '"colors.inc"' Literal.String.Double
 '    \n\n'    Text.Whitespace
 
+'camera'      Name.Builtin
+' '           Text.Whitespace
+'{'           Punctuation
+'\n  '        Text.Whitespace
+'sky'         Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'1'           Literal.Number.Integer
+'>'           Punctuation
+'\n  '        Text.Whitespace
+'direction'   Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'-'           Operator
+'1'           Literal.Number.Integer
+','           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'0'           Literal.Number.Integer
+'>'           Punctuation
+'\n  '        Text.Whitespace
+'right'       Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'-'           Operator
+'4'           Literal.Number.Integer
+'/'           Operator
+'3'           Literal.Number.Integer
+','           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'0'           Literal.Number.Integer
+'>'           Punctuation
+'\n  '        Text.Whitespace
+'location'    Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'-'           Operator
+'300'         Literal.Number.Integer
+','           Punctuation
+'-'           Operator
+'800'         Literal.Number.Integer
+','           Punctuation
+'600'         Literal.Number.Integer
+'>'           Punctuation
+'\n  '        Text.Whitespace
+'look_at'     Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'0'           Literal.Number.Integer
+'>'           Punctuation
+'     '       Text.Whitespace
+'//Where camera is pointing' Comment.Single
+'\n  '        Text.Whitespace
+'angle'       Keyword
+' '           Text.Whitespace
+'30'          Literal.Number.Integer
+'\n  '        Text.Whitespace
+'rotate'      Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'-'           Operator
+'360'         Literal.Number.Integer
+'*'           Operator
+'('           Punctuation
+'clock'       Keyword
+'+'           Operator
+'0.10'        Literal.Number.Float
+')'           Punctuation
+'>'           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+'\n\n'        Text.Whitespace
+
+'global_settings' Keyword
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'ambient_light' Keyword
+' '           Text.Whitespace
+'White'       Name
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
 'background'  Keyword
 ' '           Text.Whitespace
 '{'           Punctuation
 ' '           Text.Whitespace
 'color'       Keyword
 ' '           Text.Whitespace
-'Cyan'        Name
+'White'       Name
 ' '           Text.Whitespace
 '}'           Punctuation
 '\n\n'        Text.Whitespace
 
-'camera'      Name.Builtin
+'light_source' Name.Builtin
 ' '           Text.Whitespace
 '{'           Punctuation
 '\n  '        Text.Whitespace
-'location'    Keyword
-' '           Text.Whitespace
 '<'           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
+'500'         Literal.Number.Integer
+'>'           Punctuation
+'\n  '        Text.Whitespace
+'color'       Keyword
 ' '           Text.Whitespace
+'White'       Name
+'*'           Operator
 '2'           Literal.Number.Integer
+'\n  '        Text.Whitespace
+'spotlight'   Keyword
+'\n  '        Text.Whitespace
+'radius'      Keyword
+' '           Text.Whitespace
+'100'         Literal.Number.Integer
+'\n  '        Text.Whitespace
+'area_light'  Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'100'         Literal.Number.Integer
 ','           Punctuation
 ' '           Text.Whitespace
-'-'           Operator
-'3'           Literal.Number.Integer
+'0'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
 '>'           Punctuation
-'\n  '        Text.Whitespace
-'look_at'     Keyword
+','           Punctuation
 ' '           Text.Whitespace
 '<'           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text.Whitespace
-'1'           Literal.Number.Integer
+'0'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text.Whitespace
-'2'           Literal.Number.Integer
+'100'         Literal.Number.Integer
 '>'           Punctuation
+','           Punctuation
+' '           Text.Whitespace
+'3'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'3'           Literal.Number.Integer
+'\n  '        Text.Whitespace
+'adaptive'    Keyword
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'\n  '        Text.Whitespace
+'jitter'      Keyword
 '\n'          Text.Whitespace
 
 '}'           Punctuation
 '\n\n'        Text.Whitespace
 
-'sphere'      Name.Builtin
+'union'       Name.Builtin
 ' '           Text.Whitespace
 '{'           Punctuation
 '\n  '        Text.Whitespace
+'sphere'      Name.Builtin
+' '           Text.Whitespace
+'{'           Punctuation
+'\n    '      Text.Whitespace
 '<'           Punctuation
 '0'           Literal.Number.Integer
 ','           Punctuation
 ','           Punctuation
 ' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n  '        Text.Whitespace
+'\n    '      Text.Whitespace
 'texture'     Keyword
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text.Whitespace
+'\n      '    Text.Whitespace
 'pigment'     Keyword
 ' '           Text.Whitespace
 '{'           Punctuation
 'Yellow'      Name
 ' '           Text.Whitespace
 '}'           Punctuation
+'\n      '    Text.Whitespace
+'finish'      Keyword
+' '           Text.Whitespace
+'{'           Punctuation
+'\n        '  Text.Whitespace
+'ambient'     Keyword
+' '           Text.Whitespace
+'0.1'         Literal.Number.Float
+'\n        '  Text.Whitespace
+'brilliance'  Keyword
+' '           Text.Whitespace
+'1.5'         Literal.Number.Float
+'\n        '  Text.Whitespace
+'diffuse'     Keyword
+' '           Text.Whitespace
+'.5'          Literal.Number.Float
+'\n      '    Text.Whitespace
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'normal'      Keyword
+' '           Text.Whitespace
+'{'           Punctuation
+'\n        '  Text.Whitespace
+'scale'       Keyword
+' '           Text.Whitespace
+'0.3'         Literal.Number.Float
+'\n        '  Text.Whitespace
+'wrinkles'    Keyword
+' '           Text.Whitespace
+'0.4'         Literal.Number.Float
+'\n      '    Text.Whitespace
+'}'           Punctuation
+'\n    '      Text.Whitespace
+'}'           Punctuation
 '\n  '        Text.Whitespace
 '}'           Punctuation
+'\n  '        Text.Whitespace
+'cylinder'    Name.Builtin
+'{'           Punctuation
+'-'           Operator
+'x'           Name.Builtin.Pseudo
+','           Punctuation
+'x'           Name.Builtin.Pseudo
+','           Punctuation
+'.57'         Literal.Number.Float
+','           Punctuation
+'1'           Literal.Number.Integer
+' '           Text.Whitespace
+'scale'       Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'1'           Literal.Number.Integer
+','           Punctuation
+'2'           Literal.Number.Integer
+','           Punctuation
+'3'           Literal.Number.Integer
+'>'           Punctuation
+'}'           Punctuation
 '\n'          Text.Whitespace
 
 '}'           Punctuation
 '\n\n'        Text.Whitespace
 
-'light_source' Name.Builtin
+'#macro'      Comment.Preproc
+' '           Text.Whitespace
+'Tangent'     Name
+'('           Punctuation
+'position'    Name
+','           Punctuation
+' '           Text.Whitespace
+'row1'        Name
+','           Punctuation
+' '           Text.Whitespace
+'row2'        Name
+','           Punctuation
+' '           Text.Whitespace
+'row3'        Name
+')'           Punctuation
+'\n  '        Text.Whitespace
+'#if'         Comment.Preproc
+' '           Text.Whitespace
+'('           Punctuation
+'vlength'     Keyword
+'('           Punctuation
+'row1'        Name
+')'           Punctuation
+'!='          Operator
+'0'           Literal.Number.Integer
+' '           Text.Whitespace
+'|'           Operator
+' '           Text.Whitespace
+'row2'        Name
+'.'           Operator
+'x'           Name.Builtin.Pseudo
+' '           Text.Whitespace
+'<'           Punctuation
+'='           Operator
+' '           Text.Whitespace
+'7'           Literal.Number.Integer
+')'           Punctuation
+'\n    '      Text.Whitespace
+'object'      Name.Builtin
 ' '           Text.Whitespace
 '{'           Punctuation
+'\n      '    Text.Whitespace
+'cylinder'    Name.Builtin
 ' '           Text.Whitespace
+'{'           Punctuation
+' \n        ' Text.Whitespace
 '<'           Punctuation
-'2'           Literal.Number.Integer
+'0'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text.Whitespace
-'4'           Literal.Number.Integer
+'0'           Literal.Number.Integer
 ','           Punctuation
 ' '           Text.Whitespace
-'-'           Operator
-'3'           Literal.Number.Integer
+'0'           Literal.Number.Integer
 '>'           Punctuation
+','           Punctuation
 ' '           Text.Whitespace
-'color'       Keyword
+'<'           Punctuation
+'0'           Literal.Number.Integer
+','           Punctuation
 ' '           Text.Whitespace
-'White'       Name
+'0'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'>'           Punctuation
+','           Punctuation
+' '           Text.Whitespace
+'0.7'         Literal.Number.Float
+'*'           Operator
+'50'          Literal.Number.Integer
+'\n        '  Text.Whitespace
+'texture'     Keyword
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text.Whitespace
+'pigment'     Keyword
+' '           Text.Whitespace
+'{'           Punctuation
+'\n            ' Text.Whitespace
+'rgb'         Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'0.7'         Literal.Number.Float
+','           Punctuation
+'0.0'         Literal.Number.Float
+','           Punctuation
+'0.3'         Literal.Number.Float
+'>'           Punctuation
+' '           Text.Whitespace
+'transmit'    Keyword
+' '           Text.Whitespace
+'0.7'         Literal.Number.Float
+'\n          ' Text.Whitespace
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'matrix'      Keyword
+' '           Text.Whitespace
+'<'           Punctuation
+'row1'        Name
+'.'           Operator
+'x'           Name.Builtin.Pseudo
+','           Punctuation
+' '           Text.Whitespace
+'row2'        Name
+'.'           Operator
+'x'           Name.Builtin.Pseudo
+','           Punctuation
+' '           Text.Whitespace
+'row3'        Name
+'.'           Operator
+'x'           Name.Builtin.Pseudo
+','           Punctuation
+'\n              ' Text.Whitespace
+'row1'        Name
+'.'           Operator
+'y'           Name.Builtin.Pseudo
+','           Punctuation
+' '           Text.Whitespace
+'row2'        Name
+'.'           Operator
+'y'           Name.Builtin.Pseudo
+','           Punctuation
+' '           Text.Whitespace
+'row3'        Name
+'.'           Operator
+'y'           Name.Builtin.Pseudo
+','           Punctuation
+'\n              ' Text.Whitespace
+'row1'        Name
+'.'           Operator
+'z'           Name.Builtin.Pseudo
+','           Punctuation
+' '           Text.Whitespace
+'row2'        Name
+'.'           Operator
+'z'           Name.Builtin.Pseudo
+','           Punctuation
+' '           Text.Whitespace
+'row3'        Name
+'.'           Operator
+'z'           Name.Builtin.Pseudo
+','           Punctuation
+'\n              ' Text.Whitespace
+'0'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'translate'   Keyword
+' '           Text.Whitespace
+'position'    Name
+'\n    '      Text.Whitespace
 '}'           Punctuation
+'\n  '        Text.Whitespace
+'#end'        Comment.Preproc
+'\n'          Text.Whitespace
+
+'#end'        Comment.Preproc
+'\n\n'        Text.Whitespace
+
+'Tangent'     Name
+'('           Punctuation
+'<'           Punctuation
+'-'           Operator
+'200.0'       Literal.Number.Float
+','           Punctuation
+' '           Text.Whitespace
+'42'          Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'.75'         Literal.Number.Float
+'>'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'#include'    Comment.Preproc
+' '           Text.Whitespace
+'concat'      Keyword
+'('           Punctuation
+'"data-"'     Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'str'         Keyword
+'('           Punctuation
+'frame_number' Name
+','           Punctuation
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+')'           Punctuation
+','           Punctuation
+' '           Text.Whitespace
+'".inc"'      Literal.String.Double
+')'           Punctuation
 '\n'          Text.Whitespace
diff --git a/tests/examplefiles/q/example.q b/tests/examplefiles/q/example.q
new file mode 100644 (file)
index 0000000..132b8f9
--- /dev/null
@@ -0,0 +1,107 @@
+/ shebang
+#!/bin/q
+
+/ preprocessor
+\d .namespace
+
+/ keywords such as flip and prd should not be highlighted in comments
+"keywords such as flip and prd should not be highlighted in strings"
+
+/ keep syntax highlighting for timing code
+\t 1+1
+\ts 1+1
+
+/ highlight until comment but not next line
+\c 20 40 / comment
+a:1 / this is no longer part of the system command
+
+/ 2-digit system commands run til end of line
+\cd /foo/bar
+
+/ prompt
+q)1+2
+
+/
+this is a
+multi-line comment
+\
+
+ /
+this is not a
+multi-line comment
+\
+
+"string with escapted quote \" and random escape \\"
+
+``foo`bar                       / symbols
+`/not/a/symbol                  / not a symbol
+`:`:/path/to/file               / file symbols
+'`length                        / exception
+
+2000.01m                        / month
+2000.01.01                      / date
+2000.01.01D                     / timestamp
+2000.01.01D00                   / timestamp
+2000.01.01D00:00                / timestamp
+2000.01.01D00:00:00             / timestamp
+2000.01.01D00:00:00.000         / timestamp
+2000.01.01D00:00:00.000000      / timestamp
+
+2000.01.01T                     / datetime
+2000.01.01T00                   / datetime
+2000.01.01T00:00                / datetime
+2000.01.01T00:00:00             / datetime
+2000.01.01T00:00:00.000         / datetime
+
+00:00                           / time
+00:00:00                        / time 
+00:00:00.000                    / time
+
+8c6b8b64-6815-6084-0a3e-178401251b68 / guid
+
+101010b                         / booleans
+(0w;0N;0n;0Wp)                  / null/infinities
+0x01fe                          / octal
+
+(1;1j;1n;1p)                    / long integers
+(1c;1h;1i;1t;1u;1v)             / integers
+(1e;1f;1.;.1;1.0;1.0f)          / floats
+(.1e8;1.e8;1e-8f;1E-8)          / floats
+
+/ ascii operators
+(-;=;+;*;#;$;%;@;!;~;^;&;:;.;,;<;>;';\;|;/;?;_)
+
+/ k keywords
+(abs; acos; asin; atan; avg; bin; binr; by cor; cos; cov; dev;
+ delete; div; do enlist; exec; exit; exp; from; getenv; hopen if;
+ in; insert; last; like; log; max; min; prd select; setenv; sin;
+ sqrt; ss; sum tan; update; var wavg; while; within; wsum; xexp)
+
+/ q operators
+(aj; aj0; ajf; ajf0; all; and; any; asc; asof; attr; avgs; ceiling;
+ cols; count; cross; csv; cut; deltas; desc; differ; distinct; dsave;
+ each; ej; ema; eval; except; fby; fills; first; fkeys; flip; floor;
+ get; group; gtime; hclose; hcount; hdel; hsym; iasc; idesc; ij; ijf;
+ inter; inv; key; keys; lj; ljf; load; lower; lsq; ltime; ltrim; mavg;
+ maxs; mcount; md5; mdev; med; meta; mins; mmax; mmin; mmu; mod; msum;
+ neg; next; not; null; or; over; parse; peach; pj; prds; prior; prev;
+ rand; rank; ratios; raze; read0; read1; reciprocal; reval; reverse;
+ rload; rotate; rsave; rtrim; save; scan; scov; sdev; set; show;
+ signum; ssr; string; sublist; sums; sv; svar; system; tables; til;
+ trim; txf; type; uj; ujf; ungroup; union; upper; upsert; value; view;
+ views; vs; where; wj; wj1; ww; xasc; xbar; xcol; xcols; xdesc;
+ xgroup; xkey; xlog; xprev; xrank)
+
+.foo.bar : {[x;y]x+y}           / function declaration
+.foo.bar : {x+y}                / function declaration
+foo.bar : "string"              / variable declaration
+foo.bar ,: "amend"              / variable amend
+
+
+{x+y}/[1 2]                     / anonymous function
+
+f:{[x;y]                        / multiline function
+ x:`foo;
+ y:`bar;
+ z:x,y;
+ z}
diff --git a/tests/examplefiles/q/example.q.output b/tests/examplefiles/q/example.q.output
new file mode 100644 (file)
index 0000000..ee7ba69
--- /dev/null
@@ -0,0 +1,998 @@
+'/ shebang'   Comment.Single
+'\n'          Text.Whitespace
+
+'#!/bin/q'    Comment.Hashbang
+'\n\n'        Text.Whitespace
+
+'/ preprocessor' Comment.Single
+'\n'          Text.Whitespace
+
+'\\d .namespace' Comment.Preproc
+'\n\n'        Text.Whitespace
+
+'/ keywords such as flip and prd should not be highlighted in comments' Comment.Single
+'\n'          Text.Whitespace
+
+'"'           Literal.String.Double
+'keywords such as flip and prd should not be highlighted in strings' Literal.String.Double
+'"'           Literal.String.Double
+'\n\n'        Text.Whitespace
+
+'/ keep syntax highlighting for timing code' Comment.Single
+'\n'          Text.Whitespace
+
+'\\t'         Comment.Preproc
+' '           Text.Whitespace
+'1'           Literal.Number.Integer.Long
+'+'           Operator
+'1'           Literal.Number.Integer.Long
+'\n'          Text.Whitespace
+
+'\\ts'        Comment.Preproc
+' '           Text.Whitespace
+'1'           Literal.Number.Integer.Long
+'+'           Operator
+'1'           Literal.Number.Integer.Long
+'\n\n'        Text.Whitespace
+
+'/ highlight until comment but not next line' Comment.Single
+'\n'          Text.Whitespace
+
+'\\c 20 40 '  Comment.Preproc
+'/ comment'   Comment.Single
+'\n'          Text.Whitespace
+
+'a'           Name.Variable
+':'           Operator
+'1'           Literal.Number.Integer.Long
+' '           Text.Whitespace
+'/ this is no longer part of the system command' Comment.Single
+'\n\n'        Text.Whitespace
+
+'/ 2-digit system commands run til end of line' Comment.Single
+'\n'          Text.Whitespace
+
+'\\cd /foo/bar' Comment.Preproc
+'\n\n'        Text.Whitespace
+
+'/ prompt'    Comment.Single
+'\n'          Text.Whitespace
+
+'q)'          Generic.Prompt
+'1'           Literal.Number.Integer.Long
+'+'           Operator
+'2'           Literal.Number.Integer.Long
+'\n\n'        Text.Whitespace
+
+'/\n'         Comment.Multiline
+
+'this is a\nmulti-line comment\n' Comment.Multiline
+
+'\\'          Comment.Multiline
+'\n\n '       Text.Whitespace
+'/'           Comment.Single
+'\n'          Text.Whitespace
+
+'this'        Name
+' '           Text.Whitespace
+'is'          Name
+' '           Text.Whitespace
+'not'         Name.Builtin
+' '           Text.Whitespace
+'a'           Name
+'\n'          Text.Whitespace
+
+'multi'       Name
+'-'           Operator
+'line'        Name
+' '           Text.Whitespace
+'comment'     Name
+'\n'          Text.Whitespace
+
+'\\'          Operator
+'\n\n'        Text.Whitespace
+
+'"'           Literal.String.Double
+'string with escapted quote ' Literal.String.Double
+'\\"'         Literal.String.Escape
+' and random escape ' Literal.String.Double
+'\\\\'        Literal.String.Escape
+'"'           Literal.String.Double
+'\n\n'        Text.Whitespace
+
+'`'           Literal.String.Symbol
+'`foo'        Literal.String.Symbol
+'`bar'        Literal.String.Symbol
+'                       ' Text.Whitespace
+'/ symbols'   Comment.Single
+'\n'          Text.Whitespace
+
+'`'           Literal.String.Symbol
+'/'           Operator
+'not'         Name.Builtin
+'/'           Operator
+'a'           Name
+'/'           Operator
+'symbol'      Name
+'                  ' Text.Whitespace
+'/ not a symbol' Comment.Single
+'\n'          Text.Whitespace
+
+'`:'          Literal.String.Symbol
+'`:/path/to/file' Literal.String.Symbol
+'               ' Text.Whitespace
+'/ file symbols' Comment.Single
+'\n'          Text.Whitespace
+
+"'`length"    Name.Exception
+'                        ' Text.Whitespace
+'/ exception' Comment.Single
+'\n\n'        Text.Whitespace
+
+'2000.01m'    Literal.Date
+'                        ' Text.Whitespace
+'/ month'     Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01'  Literal.Date
+'                      ' Text.Whitespace
+'/ date'      Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01D' Literal.Date
+'                     ' Text.Whitespace
+'/ timestamp' Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01D00' Literal.Date
+'                   ' Text.Whitespace
+'/ timestamp' Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01D00:00' Literal.Date
+'                ' Text.Whitespace
+'/ timestamp' Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01D00:00:00' Literal.Date
+'             ' Text.Whitespace
+'/ timestamp' Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01D00:00:00.000' Literal.Date
+'         '   Text.Whitespace
+'/ timestamp' Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01D00:00:00.000000' Literal.Date
+'      '      Text.Whitespace
+'/ timestamp' Comment.Single
+'\n\n'        Text.Whitespace
+
+'2000.01.01T' Literal.Date
+'                     ' Text.Whitespace
+'/ datetime'  Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01T' Literal.Date
+'00'          Literal.Number.Integer.Long
+'                   ' Text.Whitespace
+'/ datetime'  Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01T00:00' Literal.Date
+'                ' Text.Whitespace
+'/ datetime'  Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01T00:00:00' Literal.Date
+'             ' Text.Whitespace
+'/ datetime'  Comment.Single
+'\n'          Text.Whitespace
+
+'2000.01.01T00:00:00.000' Literal.Date
+'         '   Text.Whitespace
+'/ datetime'  Comment.Single
+'\n\n'        Text.Whitespace
+
+'00:00'       Literal.Date
+'                           ' Text.Whitespace
+'/ time'      Comment.Single
+'\n'          Text.Whitespace
+
+'00:00:00'    Literal.Date
+'                        ' Text.Whitespace
+'/ time '     Comment.Single
+'\n'          Text.Whitespace
+
+'00:00:00.000' Literal.Date
+'                    ' Text.Whitespace
+'/ time'      Comment.Single
+'\n\n'        Text.Whitespace
+
+'8c6b8b64-6815-6084-0a3e-178401251b68' Literal.Number.Hex
+' '           Text.Whitespace
+'/ guid'      Comment.Single
+'\n\n'        Text.Whitespace
+
+'101010b'     Literal.Number.Bin
+'                         ' Text.Whitespace
+'/ booleans'  Comment.Single
+'\n'          Text.Whitespace
+
+'('           Punctuation
+'0w'          Literal.Number
+';'           Punctuation
+'0N'          Literal.Number
+';'           Punctuation
+'0n'          Literal.Number
+';'           Punctuation
+'0Wp'         Literal.Number
+')'           Punctuation
+'                  ' Text.Whitespace
+'/ null/infinities' Comment.Single
+'\n'          Text.Whitespace
+
+'0x01fe'      Literal.Number.Hex
+'                          ' Text.Whitespace
+'/ octal'     Comment.Single
+'\n\n'        Text.Whitespace
+
+'('           Punctuation
+'1'           Literal.Number.Integer.Long
+';'           Punctuation
+'1j'          Literal.Number.Integer.Long
+';'           Punctuation
+'1n'          Literal.Number.Integer.Long
+';'           Punctuation
+'1p'          Literal.Number.Integer.Long
+')'           Punctuation
+'                    ' Text.Whitespace
+'/ long integers' Comment.Single
+'\n'          Text.Whitespace
+
+'('           Punctuation
+'1c'          Literal.Number
+';'           Punctuation
+'1h'          Literal.Number.Integer
+';'           Punctuation
+'1i'          Literal.Number.Integer
+';'           Punctuation
+'1t'          Literal.Number.Integer
+';'           Punctuation
+'1u'          Literal.Number.Integer
+';'           Punctuation
+'1v'          Literal.Number.Integer
+')'           Punctuation
+'             ' Text.Whitespace
+'/ integers'  Comment.Single
+'\n'          Text.Whitespace
+
+'('           Punctuation
+'1e'          Literal.Number.Float
+';'           Punctuation
+'1f'          Literal.Number.Float
+';'           Punctuation
+'1.'          Literal.Number.Float
+';'           Punctuation
+'.1'          Literal.Number.Float
+';'           Punctuation
+'1.0'         Literal.Number.Float
+';'           Punctuation
+'1.0f'        Literal.Number.Float
+')'           Punctuation
+'          '  Text.Whitespace
+'/ floats'    Comment.Single
+'\n'          Text.Whitespace
+
+'('           Punctuation
+'.1e8'        Literal.Number.Float
+';'           Punctuation
+'1.e8'        Literal.Number.Float
+';'           Punctuation
+'1e-8f'       Literal.Number.Float
+';'           Punctuation
+'1E-8'        Literal.Number.Float
+')'           Punctuation
+'          '  Text.Whitespace
+'/ floats'    Comment.Single
+'\n\n'        Text.Whitespace
+
+'/ ascii operators' Comment.Single
+'\n'          Text.Whitespace
+
+'('           Punctuation
+'-'           Operator
+';'           Punctuation
+'='           Operator
+';'           Punctuation
+'+'           Operator
+';'           Punctuation
+'*'           Operator
+';'           Punctuation
+'#'           Operator
+';'           Punctuation
+'$'           Operator
+';'           Punctuation
+'%'           Operator
+';'           Punctuation
+'@'           Operator
+';'           Punctuation
+'!'           Operator
+';'           Punctuation
+'~'           Operator
+';'           Punctuation
+'^'           Operator
+';'           Punctuation
+'&'           Operator
+';'           Punctuation
+':'           Operator
+';'           Punctuation
+'.'           Operator
+';'           Punctuation
+','           Operator
+';'           Punctuation
+'<'           Operator
+';'           Punctuation
+'>'           Operator
+';'           Punctuation
+"'"           Operator
+';'           Punctuation
+'\\'          Operator
+';'           Punctuation
+'|'           Operator
+';'           Punctuation
+'/'           Operator
+';'           Punctuation
+'?'           Operator
+';'           Punctuation
+'_'           Operator
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'/ k keywords' Comment.Single
+'\n'          Text.Whitespace
+
+'('           Punctuation
+'abs'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'acos'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'asin'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'atan'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'avg'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'bin'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'binr'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'by'          Operator.Word
+' '           Text.Whitespace
+'cor'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'cos'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'cov'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'dev'         Operator.Word
+';'           Punctuation
+'\n '         Text.Whitespace
+'delete'      Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'div'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'do'          Operator.Word
+' '           Text.Whitespace
+'enlist'      Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'exec'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'exit'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'exp'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'from'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'getenv'      Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'hopen'       Operator.Word
+' '           Text.Whitespace
+'if'          Operator.Word
+';'           Punctuation
+'\n '         Text.Whitespace
+'in'          Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'insert'      Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'last'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'like'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'log'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'max'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'min'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'prd'         Operator.Word
+' '           Text.Whitespace
+'select'      Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'setenv'      Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'sin'         Operator.Word
+';'           Punctuation
+'\n '         Text.Whitespace
+'sqrt'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'ss'          Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'sum'         Operator.Word
+' '           Text.Whitespace
+'tan'         Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'update'      Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'var'         Operator.Word
+' '           Text.Whitespace
+'wavg'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'while'       Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'within'      Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'wsum'        Operator.Word
+';'           Punctuation
+' '           Text.Whitespace
+'xexp'        Operator.Word
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'/ q operators' Comment.Single
+'\n'          Text.Whitespace
+
+'('           Punctuation
+'aj'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'aj0'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ajf'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ajf0'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'all'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'and'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'any'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'asc'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'asof'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'attr'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'avgs'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ceiling'     Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'cols'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'count'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'cross'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'csv'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'cut'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'deltas'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'desc'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'differ'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'distinct'    Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'dsave'       Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'each'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ej'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ema'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'eval'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'except'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'fby'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'fills'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'first'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'fkeys'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'flip'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'floor'       Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'get'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'group'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'gtime'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'hclose'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'hcount'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'hdel'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'hsym'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'iasc'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'idesc'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ij'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ijf'         Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'inter'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'inv'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'key'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'keys'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'lj'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ljf'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'load'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'lower'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'lsq'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ltime'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ltrim'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'mavg'        Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'maxs'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'mcount'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'md5'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'mdev'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'med'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'meta'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'mins'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'mmax'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'mmin'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'mmu'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'mod'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'msum'        Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'neg'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'next'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'not'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'null'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'or'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'over'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'parse'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'peach'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'pj'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'prds'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'prior'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'prev'        Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'rand'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'rank'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ratios'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'raze'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'read0'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'read1'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'reciprocal'  Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'reval'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'reverse'     Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'rload'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'rotate'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'rsave'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'rtrim'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'save'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'scan'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'scov'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'sdev'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'set'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'show'        Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'signum'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ssr'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'string'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'sublist'     Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'sums'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'sv'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'svar'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'system'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'tables'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'til'         Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'trim'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'txf'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'type'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'uj'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ujf'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ungroup'     Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'union'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'upper'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'upsert'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'value'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'view'        Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'views'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'vs'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'where'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'wj'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'wj1'         Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'ww'          Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xasc'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xbar'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xcol'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xcols'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xdesc'       Name.Builtin
+';'           Punctuation
+'\n '         Text.Whitespace
+'xgroup'      Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xkey'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xlog'        Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xprev'       Name.Builtin
+';'           Punctuation
+' '           Text.Whitespace
+'xrank'       Name.Builtin
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'.foo.bar'    Name.Function
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'{'           Punctuation
+'['           Punctuation
+'x'           Name
+';'           Punctuation
+'y'           Name
+']'           Punctuation
+'x'           Name
+'+'           Operator
+'y'           Name
+'}'           Punctuation
+'           ' Text.Whitespace
+'/ function declaration' Comment.Single
+'\n'          Text.Whitespace
+
+'.foo.bar'    Name.Function
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'{'           Punctuation
+'x'           Name
+'+'           Operator
+'y'           Name
+'}'           Punctuation
+'                ' Text.Whitespace
+'/ function declaration' Comment.Single
+'\n'          Text.Whitespace
+
+'foo.bar'     Name.Variable
+' '           Text.Whitespace
+':'           Operator
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'string'      Literal.String.Double
+'"'           Literal.String.Double
+'              ' Text.Whitespace
+'/ variable declaration' Comment.Single
+'\n'          Text.Whitespace
+
+'foo.bar'     Name.Variable
+' '           Text.Whitespace
+',:'          Operator
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'amend'       Literal.String.Double
+'"'           Literal.String.Double
+'              ' Text.Whitespace
+'/ variable amend' Comment.Single
+'\n\n\n'      Text.Whitespace
+
+'{'           Punctuation
+'x'           Name
+'+'           Operator
+'y'           Name
+'}'           Punctuation
+'/'           Operator
+'['           Punctuation
+'1'           Literal.Number.Integer.Long
+' '           Text.Whitespace
+'2'           Literal.Number.Integer.Long
+']'           Punctuation
+'                     ' Text.Whitespace
+'/ anonymous function' Comment.Single
+'\n\n'        Text.Whitespace
+
+'f'           Name.Function
+':'           Operator
+'{'           Punctuation
+'['           Punctuation
+'x'           Name
+';'           Punctuation
+'y'           Name
+']'           Punctuation
+'                        ' Text.Whitespace
+'/ multiline function' Comment.Single
+'\n '         Text.Whitespace
+'x'           Name.Variable
+':'           Operator
+'`foo'        Literal.String.Symbol
+';'           Punctuation
+'\n '         Text.Whitespace
+'y'           Name.Variable
+':'           Operator
+'`bar'        Literal.String.Symbol
+';'           Punctuation
+'\n '         Text.Whitespace
+'z'           Name.Variable
+':'           Operator
+'x'           Name
+','           Operator
+'y'           Name
+';'           Punctuation
+'\n '         Text.Whitespace
+'z'           Name
+'}'           Punctuation
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/qlik/example.qvs b/tests/examplefiles/qlik/example.qvs
new file mode 100644 (file)
index 0000000..f83604e
--- /dev/null
@@ -0,0 +1,59 @@
+/* ---------------------------------
+This is an example file containing qlik script
+--------------------------------- */
+
+LET vFilePath = '/home';
+
+FOR EACH vFolder IN 'folder_1', 'folder_2'
+
+    // Check the file exists
+    IF FILESIZE('$(vFilePath)/$(vFolder)/file.qvd') >0 THEN
+
+        TABLE_NAME:
+        NoConcatenate
+        LOAD
+            [Field 1]   AS FIELD_1,
+            "Field 2"   AS FIELD_2,
+            FIELD_3,
+            FileName()      AS SOURCE_FILE_$(vFilePath),
+            '$(vFilePath)/$(vFolder)/file.qvd'  AS [Expand_Brackets],
+            '(This is a string)'            AS brackets_in_string
+            'This costs $10'                AS dollar_in_string
+        FROM
+            [$(vFilePath)/$(vFolder)/file.qvd] (qvd);
+
+        MAP_FIELD_1:
+        MAPPING LOAD
+            FIELD_1,
+            SUM(FIELD_2)
+        RESIDENT
+            TABLE_NAME
+        GROUP BY
+            FIELD_1;
+
+        LEFT JOIN(TABLE_NAME)
+        load distinct
+            FIELD_1,
+            FIELD_2,
+            FIELD_3,
+            applymap('MAP_FIELD_1', FIELD_1, 0)     AS FIELD_2_SUM,
+            'String' & ' ' & 'Concatenation'        AS single_quote_test,
+            'Token String ''Name'''                 AS [String Field $(vFilePath)],
+            3.14159                                 AS "Number Field $(vFilePath)",
+            3 * 10 + 6 / 2 - 5                      AS OPERATION_FIELD
+        Resident
+            TABLE_NAME
+        ORDER BY
+            FIELD_3 DESC;
+
+        STORE TABLE_NAME INTO [$(vFilePath)/$(vFolder)/file_output.qvd] (qvd);
+
+        DROP TABLE TABLE_NAME;
+
+    ELSE
+
+        TRACE No file found in $(vFilePath)/file.qvd;
+
+    END IF
+
+NEXT vFolder
\ No newline at end of file
diff --git a/tests/examplefiles/qlik/example.qvs.output b/tests/examplefiles/qlik/example.qvs.output
new file mode 100644 (file)
index 0000000..1016163
--- /dev/null
@@ -0,0 +1,354 @@
+'/*'          Comment.Multiline
+' ---------------------------------\nThis is an example file containing qlik script\n--------------------------------- ' Comment.Multiline
+'*/'          Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'LET'         Keyword.Declaration
+' '           Text.Whitespace
+'vFilePath'   Text
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+"'"           Literal.String
+'/home'       Literal.String
+"'"           Literal.String
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'FOR'         Keyword
+' '           Text.Whitespace
+'EACH'        Keyword
+' '           Text.Whitespace
+'vFolder'     Text
+' '           Text.Whitespace
+'IN'          Keyword
+' '           Text.Whitespace
+"'"           Literal.String
+'folder_1'    Literal.String
+"'"           Literal.String
+','           Punctuation
+' '           Text.Whitespace
+"'"           Literal.String
+'folder_2'    Literal.String
+"'"           Literal.String
+'\n\n    '    Text.Whitespace
+'// Check the file exists\n' Comment.Single
+
+'    '        Text.Whitespace
+'IF'          Keyword
+' '           Text.Whitespace
+'FILESIZE'    Name.Builtin
+'('           Punctuation
+"'"           Literal.String
+'$('          Literal.String.Interpol
+'vFilePath'   Name.Variable
+')'           Literal.String.Interpol
+'/'           Literal.String
+'$('          Literal.String.Interpol
+'vFolder'     Name.Variable
+')'           Literal.String.Interpol
+'/file.qvd'   Literal.String
+"'"           Literal.String
+')'           Punctuation
+' '           Text.Whitespace
+'>'           Operator
+'0'           Literal.Number.Integer
+' '           Text.Whitespace
+'THEN'        Keyword
+'\n\n        ' Text.Whitespace
+'TABLE_NAME:' Keyword.Declaration
+'\n        '  Text.Whitespace
+'NoConcatenate' Keyword
+'\n        '  Text.Whitespace
+'LOAD'        Keyword
+'\n            ' Text.Whitespace
+'['           Literal.String.Symbol
+'Field 1'     Literal.String.Symbol
+']'           Literal.String.Symbol
+'   '         Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'FIELD_1'     Text
+','           Punctuation
+'\n            ' Text.Whitespace
+'"'           Literal.String.Symbol
+'Field 2'     Literal.String.Symbol
+'"'           Literal.String.Symbol
+'   '         Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'FIELD_2'     Text
+','           Punctuation
+'\n            ' Text.Whitespace
+'FIELD_3'     Text
+','           Punctuation
+'\n            ' Text.Whitespace
+'FileName'    Name.Builtin
+'('           Punctuation
+')'           Punctuation
+'      '      Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'SOURCE_FILE_' Text
+'$('          Literal.String.Interpol
+'vFilePath'   Name.Variable
+')'           Literal.String.Interpol
+','           Punctuation
+'\n            ' Text.Whitespace
+"'"           Literal.String
+'$('          Literal.String.Interpol
+'vFilePath'   Name.Variable
+')'           Literal.String.Interpol
+'/'           Literal.String
+'$('          Literal.String.Interpol
+'vFolder'     Name.Variable
+')'           Literal.String.Interpol
+'/file.qvd'   Literal.String
+"'"           Literal.String
+'  '          Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'['           Literal.String.Symbol
+'Expand_Brackets' Literal.String.Symbol
+']'           Literal.String.Symbol
+','           Punctuation
+'\n            ' Text.Whitespace
+"'"           Literal.String
+'(This is a string)' Literal.String
+"'"           Literal.String
+'            ' Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'brackets_in_string' Text
+'\n            ' Text.Whitespace
+"'"           Literal.String
+'This costs ' Literal.String
+'$'           Literal.String
+'10'          Literal.String
+"'"           Literal.String
+'                ' Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'dollar_in_string' Text
+'\n        '  Text.Whitespace
+'FROM'        Keyword
+'\n            ' Text.Whitespace
+'['           Literal.String.Symbol
+'$('          Literal.String.Interpol
+'vFilePath'   Name.Variable
+')'           Literal.String.Interpol
+'/'           Literal.String.Symbol
+'$('          Literal.String.Interpol
+'vFolder'     Name.Variable
+')'           Literal.String.Interpol
+'/file.qvd'   Literal.String.Symbol
+']'           Literal.String.Symbol
+' '           Text.Whitespace
+'('           Punctuation
+'qvd'         Text
+')'           Punctuation
+';'           Punctuation
+'\n\n        ' Text.Whitespace
+'MAP_FIELD_1:' Keyword.Declaration
+'\n        '  Text.Whitespace
+'MAPPING'     Keyword
+' '           Text.Whitespace
+'LOAD'        Keyword
+'\n            ' Text.Whitespace
+'FIELD_1'     Text
+','           Punctuation
+'\n            ' Text.Whitespace
+'SUM'         Name.Builtin
+'('           Punctuation
+'FIELD_2'     Text
+')'           Punctuation
+'\n        '  Text.Whitespace
+'RESIDENT'    Keyword
+'\n            ' Text.Whitespace
+'TABLE_NAME'  Text
+'\n        '  Text.Whitespace
+'GROUP BY'    Keyword
+'\n            ' Text.Whitespace
+'FIELD_1'     Text
+';'           Punctuation
+'\n\n        ' Text.Whitespace
+'LEFT'        Keyword
+' '           Text.Whitespace
+'JOIN'        Keyword
+'('           Punctuation
+'TABLE_NAME'  Text
+')'           Punctuation
+'\n        '  Text.Whitespace
+'load'        Keyword
+' '           Text.Whitespace
+'distinct'    Keyword
+'\n            ' Text.Whitespace
+'FIELD_1'     Text
+','           Punctuation
+'\n            ' Text.Whitespace
+'FIELD_2'     Text
+','           Punctuation
+'\n            ' Text.Whitespace
+'FIELD_3'     Text
+','           Punctuation
+'\n            ' Text.Whitespace
+'applymap'    Name.Builtin
+'('           Punctuation
+"'"           Literal.String
+'MAP_FIELD_1' Literal.String
+"'"           Literal.String
+','           Punctuation
+' '           Text.Whitespace
+'FIELD_1'     Text
+','           Punctuation
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+')'           Punctuation
+'     '       Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'FIELD_2_SUM' Text
+','           Punctuation
+'\n            ' Text.Whitespace
+"'"           Literal.String
+'String'      Literal.String
+"'"           Literal.String
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
+"'"           Literal.String
+' '           Literal.String
+"'"           Literal.String
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
+"'"           Literal.String
+'Concatenation' Literal.String
+"'"           Literal.String
+'        '    Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'single_quote_test' Text
+','           Punctuation
+'\n            ' Text.Whitespace
+"'"           Literal.String
+'Token String ' Literal.String
+"'"           Literal.String
+"'"           Literal.String
+'Name'        Literal.String
+"'"           Literal.String
+"'"           Literal.String
+"'"           Literal.String
+'                 ' Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'['           Literal.String.Symbol
+'String Field ' Literal.String.Symbol
+'$('          Literal.String.Interpol
+'vFilePath'   Name.Variable
+')'           Literal.String.Interpol
+']'           Literal.String.Symbol
+','           Punctuation
+'\n            ' Text.Whitespace
+'3.14159'     Literal.Number.Float
+'                                 ' Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'"'           Literal.String.Symbol
+'Number Field ' Literal.String.Symbol
+'$('          Literal.String.Interpol
+'vFilePath'   Name.Variable
+')'           Literal.String.Interpol
+'"'           Literal.String.Symbol
+','           Punctuation
+'\n            ' Text.Whitespace
+'3'           Literal.Number.Integer
+' '           Text.Whitespace
+'*'           Operator
+' '           Text.Whitespace
+'10'          Literal.Number.Integer
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'6'           Literal.Number.Integer
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'2'           Literal.Number.Integer
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'5'           Literal.Number.Integer
+'                      ' Text.Whitespace
+'AS'          Keyword
+' '           Text.Whitespace
+'OPERATION_FIELD' Text
+'\n        '  Text.Whitespace
+'Resident'    Keyword
+'\n            ' Text.Whitespace
+'TABLE_NAME'  Text
+'\n        '  Text.Whitespace
+'ORDER BY'    Keyword
+'\n            ' Text.Whitespace
+'FIELD_3'     Text
+' '           Text.Whitespace
+'DESC'        Keyword
+';'           Punctuation
+'\n\n        ' Text.Whitespace
+'STORE'       Keyword
+' '           Text.Whitespace
+'TABLE_NAME'  Text
+' '           Text.Whitespace
+'INTO'        Text
+' '           Text.Whitespace
+'['           Literal.String.Symbol
+'$('          Literal.String.Interpol
+'vFilePath'   Name.Variable
+')'           Literal.String.Interpol
+'/'           Literal.String.Symbol
+'$('          Literal.String.Interpol
+'vFolder'     Name.Variable
+')'           Literal.String.Interpol
+'/file_output.qvd' Literal.String.Symbol
+']'           Literal.String.Symbol
+' '           Text.Whitespace
+'('           Punctuation
+'qvd'         Text
+')'           Punctuation
+';'           Punctuation
+'\n\n        ' Text.Whitespace
+'DROP TABLE'  Keyword
+' '           Text.Whitespace
+'TABLE_NAME'  Text
+';'           Punctuation
+'\n\n    '    Text.Whitespace
+'ELSE'        Keyword
+'\n\n        ' Text.Whitespace
+'TRACE'       Keyword
+' '           Text.Whitespace
+'No'          Text
+' '           Text.Whitespace
+'file'        Text
+' '           Text.Whitespace
+'found'       Text
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'$('          Literal.String.Interpol
+'vFilePath'   Name.Variable
+')'           Literal.String.Interpol
+'/'           Operator
+'file'        Text
+'.'           Punctuation
+'qvd'         Text
+';'           Punctuation
+'\n\n    '    Text.Whitespace
+'END'         Keyword
+' '           Text.Whitespace
+'IF'          Keyword
+'\n\n'        Text.Whitespace
+
+'NEXT'        Keyword
+' '           Text.Whitespace
+'vFolder'     Text
+'\n'          Text.Whitespace
index b7447e007c898a4794b91dd272655234f74b6af4..4e6c8019228e38e25eb1b1a25ee510d5e2b71b4a 100644 (file)
@@ -1,37 +1,37 @@
 ''            Text
 '#lang '      Keyword.Namespace
 'racket'      Name.Namespace
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 ''            Text
 'require'     Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'only-in'     Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'srfi/13'     Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'string-contains' Name
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '; Single-line comment style.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Single-line comment style.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#|'          Comment.Multiline
 ' Multi-line comment style ... on one line ' Comment.Multiline
 '|#'          Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#|'          Comment.Multiline
 '\nMulti-line comment style ...\n' Comment.Multiline
 '\n... on multiple lines\n' Comment.Multiline
 
 '|#'          Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#;'          Comment
 '('           Punctuation
 ''            Text
 's-expression' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'comment'     Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'one'         Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'line'        Name
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#;'          Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 ''            Text
 's-expression' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'comment'     Name
 ''            Text
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 ''            Text
 'multiple'    Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'lines'       Name
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#! shebang comment' Comment
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#!/shebang comment' Comment
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#! shebang \\\ncomment' Comment
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#!/shebang \\\ncomment' Comment
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Uncommented numbers after single-line comments' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; NEL'      Comment.Single
-'\x85'        Text
+'\x85'        Text.Whitespace
 '133'         Literal.Number.Integer
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; LS'       Comment.Single
-'\u2028'      Text
+'\u2028'      Text.Whitespace
 '8232'        Literal.Number.Integer
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; PS'       Comment.Single
-'\u2029'      Text
+'\u2029'      Text.Whitespace
 '8233'        Literal.Number.Integer
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket'      Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 ''            Text
 ''            Text
 'a-function'  Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#:keyword'   Keyword.Declaration
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ''            Text
 'y'           Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'foo0'        Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'symbol'      Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '; ()'        Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'foo1'        Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'symbol'      Literal.String.Symbol
 ']'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '; []'        Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '{'           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'foo2'        Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'symbol'      Literal.String.Symbol
 '}'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '; {}'        Comment.Single
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '100-Continue' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'symbol'      Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'and'         Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'append'      Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'car'         Name.Builtin
 ''            Text
 '1'           Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'regexp-match?' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#rx"foobar"' Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'foobar'      Literal.String.Double
 '"'           Literal.String.Double
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'regexp-match?' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#px"\\"foo\\\\(bar\\\\)?\\""' Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'foobar'      Literal.String.Double
 '"'           Literal.String.Double
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'regexp-match?' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#rx#"foobar"' Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'foobar'      Literal.String.Double
 '"'           Literal.String.Double
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'regexp-match?' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#px#"foobar"' Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 'foobar'      Literal.String.Double
 '"'           Literal.String.Double
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#cs'         Operator
 'a'           Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '#Ci'         Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'let'         Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '['           Punctuation
 ''            Text
 '#%A|||b #true C\n\\|d' Name
 ''            Text
-'\u2002'      Text
+'\u2002'      Text.Whitespace
 '"'           Literal.String.Double
 'foo'         Literal.String.Double
 '"'           Literal.String.Double
 ']'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 ''            Text
 'displayln'   Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#cS'         Operator
-' '           Text
+' '           Text.Whitespace
 '#%\\ab\\ #true\\ C\\\n\\\\d||' Name
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'for/list'    Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '['           Punctuation
 ''            Text
 'x'           Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'in-list'     Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'list'        Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'list'        Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 ''            Text
 'cond'        Keyword
 ''            Text
-'\n      '    Text
+'\n      '    Text.Whitespace
 '['           Punctuation
 ''            Text
 '('           Punctuation
 ''            Text
 'pair?'       Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'car'         Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ')'           Punctuation
 ']'           Punctuation
 ''            Text
-'\n      '    Text
+'\n      '    Text.Whitespace
 '['           Punctuation
 ''            Text
 'else'        Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Literals' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 ''            Text
 'values'      Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; #b'       Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1'         Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1'        Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1'        Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b.1'        Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1.'        Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b0.1'       Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+0.1'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-0.1'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1/10'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1/10'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1e11'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1e11'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1e11'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b.1e11'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1.e11'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b0.1e11'    Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+0.1e11'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-0.1e11'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1/10e11'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10e11'  Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1/10e11'  Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+i'        Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1+i'       Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1+i'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1+i'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b.1+i'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1.+i'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b0.1+i'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+0.1+i'    Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-0.1+i'    Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1/10+i'    Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10+i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1/10+i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1e11+i'    Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1e11+i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1e11+i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1.e11+i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b.1e11+i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b0.1e11+i'  Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+0.1e11+i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-0.1e11+i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1/10e11+i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10e11+i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1/10e11+i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1i'       Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1+1i'      Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1+1i'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1+1i'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1.+1i'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b.1+1i'     Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b0.1+1i'    Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+0.1+1i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-0.1+1i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1/10+1i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10+1i'  Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1/10+1i'  Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1e11+1i'   Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1e11+1i'  Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1e11+1i'  Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b.1e11+1i'  Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b0.1e11+1i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+0.1e11+1i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-0.1e11+1i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1/10e11+1i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10e11+1i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1/10e11+1i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b.1+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b0.1+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+0.1+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-0.1+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1/10+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1/10+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b.1e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b0.1e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+0.1e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-0.1e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b1/10e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b+1/10e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#b-1/10e11+1/10e11i' Literal.Number.Bin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; #d'       Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1'         Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1'        Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1'        Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d.1'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.2'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1.2'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1.2'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1/2'       Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2'      Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1/2'      Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1e3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1e3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1e3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d.1e3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.e3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.2e3'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1.2e3'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1.2e3'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1/2e3'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2e3'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1/2e3'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+i'        Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1+i'       Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1+i'      Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1+i'      Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d.1+i'      Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.+i'      Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.2+i'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1.2+i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1.2+i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1/2+i'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2+i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1/2+i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1e3+i'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1e3+i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1e3+i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.e3+i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d.1e3+i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.2e3+i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1.2e3+i'  Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1.2e3+i'  Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1/2e3+i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2e3+i'  Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1/2e3+i'  Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1i'       Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1+1i'      Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1+1i'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1+1i'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.+1i'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d.1+1i'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.2+1i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1.2+1i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1.2+1i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1/2+1i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2+1i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1/2+1i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1e3+1i'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1e3+1i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1e3+1i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d.1e3+1i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.2e3+1i'  Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1.2e3+1i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1.2e3+1i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1/2e3+1i'  Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2e3+1i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1/2e3+1i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2e3i'   Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1+1/2e3i'  Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d.1+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.2+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1.2+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1.2+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1/2+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1/2+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d.1e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1.2e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1.2e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1.2e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d1/2e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d+1/2e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d-1/2e3+1/2e3i' Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; Extflonums' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '+nan.t'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1t3'         Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1t3'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '-1t3'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.1t3'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.t3'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2t3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1.2t3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '-1.2t3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2t3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1/2t3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '-1/2t3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#t0'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.#t0'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.2#t0'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2#t0'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2t0'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2#t0'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#t0'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#t3'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.#t3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.2#t3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2#t3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2t3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2#t3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#t3'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; No # reader prefix -- same as #d' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '-1.23'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.123'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1e3'         Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1e-22'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2'         Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '-1/2'        Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1'           Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '-1'          Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; #e'       Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#e-1.23'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e1.123'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e1e3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e1e-22'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e1'         Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e-1'        Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e1/2'       Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e-1/2'      Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; #d#e'     Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#d#e-1.23'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d#e1.123'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d#e1e3'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d#e1e-22'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d#e1'       Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d#e-1'      Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d#e1/2'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#d#e-1/2'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; #e#d'     Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#d-1.23'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#d1.123'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#d1e3'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#d1e-22'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#d1'       Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#d-1'      Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#d1/2'     Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#d-1/2'    Literal.Number
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; #i always float' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#i-1.23'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i1.123'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i1e3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i1e-22'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i1/2'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i-1/2'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i1'         Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i-1'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; Implicitly inexact numbers' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '+nan.0'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#'          Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.#'         Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.2#'         Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2#'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2#'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#e3'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.#e3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.2#e3'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2#e3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2e3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2#e3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+nan.0+i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#+i'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.#+i'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.2#+i'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2#+i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2+i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2#+i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#+i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#e3+i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.#e3+i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.2#e3+i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2#e3+i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2e3+i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2#e3+i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+i'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+nan.0i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1#i'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1.#i'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+.2#i'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1.2#i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1#/2i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1/2#i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1#/2#i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1#e3i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1.#e3i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+.2#e3i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1.2#e3i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1#/2e3i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1/2#e3i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+1#/2#e3i'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+nan.0i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1#i'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1.#i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+.2#i'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1.2#i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1#/2i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1/2#i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1#/2#i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1#e3i'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1.#e3i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+.2#e3i'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1.2#e3i'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1#/2e3i'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1/2#e3i'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '0+1#/2#e3i'  Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+nan.0i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1#i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1.#i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+.2#i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1.2#i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1#/2i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1/2#i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1#/2#i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1#e3i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1.#e3i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+.2#e3i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1.2#e3i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1#/2e3i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1/2#e3i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3+1#/2#e3i' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '+nan.0@1'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#@1'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.#@1'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.2#@1'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2#@1'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2@1'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2#@1'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#@1'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#e3@1'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.#e3@1'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '.2#e3@1'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1.2#e3@1'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2e3@1'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1/2#e3@1'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@+nan.0'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1#'        Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1.#'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@.2#'       Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1.2#'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1#/2'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1/2#'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1#/2#'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1#e3'      Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1.#e3'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@.2#e3'     Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1.2#e3'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1#/2e3'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1/2#e3'    Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1@1#/2#e3'   Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1#'  Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1.#' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@.2#' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1.2#' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1#/2' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1/2#' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1#/2#' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1#e3' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1.#e3' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@.2#e3' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1.2#e3' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1#/2e3' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1/2#e3' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '1#/2#e3@1#/2#e3' Literal.Number.Float
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; #o'       Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#o777.777'   Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#o-777.777'  Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#o777e777'   Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#o777e-777'  Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#o3/7'       Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#o-3/7'      Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#o777'       Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#o-777'      Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#o777.777' Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#o-777.777' Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#o777e777' Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#o777e-777' Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#o3/7'     Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#o-3/7'    Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#o777'     Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#o-777'    Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#o777.777' Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#o-777.777' Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#o777e777' Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#o777e-777' Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#o3/7'     Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#o-3/7'    Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#o777'     Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#o-777'    Literal.Number.Oct
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; #x'       Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#x-f.f'      Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#xf.f'       Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#xfsf'       Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#xfs-f'      Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#x7/f'       Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#x-7/f'      Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#x-f'        Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#xf'         Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#x-f.f'    Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#xf.f'     Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#xfsf'     Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#xfs-f'    Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#x7/f'     Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#x-7/f'    Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#x-f'      Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#e#xf'       Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#x-f.f'    Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#xf.f'     Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#xfsf'     Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#xfs-f'    Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#x7/f'     Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#x-7/f'    Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#x-f'      Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#i#xf'       Literal.Number.Hex
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; Not numbers' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '-1.23x'      Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1.123x'      Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1e3x'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1e-22x'      Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1/2x'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '-1/2x'       Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1x'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '-1x'         Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '/'           Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1/'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '/2'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1//2'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1e3.'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1e'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 'e3'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '.i'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1.2.3'       Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1..2'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '.1.'         Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '@'           Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1@'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '@2'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1@@2'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1@2@3'       Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1@2i'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1+-2i'       Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1i+2'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1i+2i'       Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1+2i+3i'     Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '-'           Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '--1'         Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '+'           Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '++1'         Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1/2.3'       Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1#2'         Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1#.2'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '1.#2'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '.#2'         Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '+nan.t+nan.ti' Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '+nan.t@nan.t' Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; Booleans' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#t'          Name.Constant
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#T'          Name.Constant
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#true'       Name.Constant
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#f'          Name.Constant
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#F'          Name.Constant
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#false'      Name.Constant
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; Characters, strings, and byte strings' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\\n'       Literal.String.Char
 
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#\\Null'     Literal.String.Char
 ''            Text
 '9'           Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\n'        Literal.String.Char
 ''            Text
 '9'           Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\9'        Literal.String.Char
 ''            Text
 '9'           Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\000'      Literal.String.Char
 ''            Text
 '9'           Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\u3BB'     Literal.String.Char
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\u03BB'    Literal.String.Char
 ''            Text
 '9'           Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\U3BB'     Literal.String.Char
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\U000003BB' Literal.String.Char
 ''            Text
 '9'           Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#\\λ'        Literal.String.Char
 ''            Text
 '9'           Literal.Number.Integer
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '"'           Literal.String.Double
 'string'      Literal.String.Double
 '\\\n'        Literal.String.Escape
 '3'           Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '"'           Literal.String.Double
 '\\u9'        Literal.String.Escape
 '.'           Literal.String.Double
 '0'           Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#"'          Literal.String.Double
 'byte-string' Literal.String.Double
 '\\7'         Literal.String.Escape
 '\\t'         Literal.String.Escape
 '"'           Literal.String.Double
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#<<HERE STRING\nlorem ipsum\ndolor sit amet\nconsectetur HERE STRING\nHERE STRING adipisicing elit\nHERE STRING' Literal.String.Heredoc
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#|'          Comment.Multiline
 '\nHERE STRING\n' Comment.Multiline
 
 '|#'          Comment.Multiline
-'\n '         Text
+'\n '         Text.Whitespace
 ';; Other literals' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 '#'           Operator
 '('           Punctuation
 ''            Text
 'vector'      Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#20'         Operator
 '('           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#s'          Operator
 '['           Punctuation
 ''            Text
 'prefab-structure' Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ']'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#&'          Operator
 '{'           Punctuation
 ''            Text
 'box'         Literal.String.Symbol
 '}'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#hash'       Operator
 '('           Punctuation
 ''            Text
 'a'           Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#hasheq'     Operator
 '('           Punctuation
 ''            Text
 ''            Text
 'a'           Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'b'           Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#hasheqv'    Operator
 '('           Punctuation
 ''            Text
 ''            Text
 'a'           Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'b'           Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "#'"          Operator
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#`'          Operator
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#,'          Operator
 'pi'          Name.Builtin
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; quote, quasiquote, and unquote' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 "'"           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '`'           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '`'           Operator
 ','           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 ','           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 "'"           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 '`'           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 "'"           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 '`'           Operator
 'pi'          Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 '`'           Operator
 ','           Operator
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 "'"           Operator
 '('           Punctuation
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '`'           Operator
 '('           Punctuation
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 ','           Operator
 '('           Punctuation
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 "'"           Operator
 '('           Punctuation
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 '`'           Operator
 '('           Punctuation
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 '('           Punctuation
 '+'           Name.Builtin
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
-' '           Text
+' '           Text.Whitespace
 ','           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Name.Builtin
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 "'"           Operator
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 '`'           Operator
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 '`'           Operator
 '+'           Name.Builtin
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 "'"           Operator
 'pi.f'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 '`'           Operator
 'pi.f'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 '`'           Operator
 ','           Operator
 'pi.f'        Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 ','           Operator
 'pi.f'        Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 "'"           Operator
 ','           Operator
 'pi.f'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 ','           Operator
 'pi.f'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '`'           Operator
 '#reader'     Keyword.Namespace
 ','           Operator
 'pi.f'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '`'           Operator
 ','           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 "'"           Operator
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 '`'           Operator
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 '`'           Operator
 '*'           Name.Builtin
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 '*'           Name.Builtin
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '`'           Operator
 ','           Operator
 '#reader'     Keyword.Namespace
 '*'           Name.Builtin
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 "'"           Operator
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '#reader'     Keyword.Namespace
 'racket/base' Literal.String.Symbol
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '`'           Operator
 '#reader'     Keyword.Namespace
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
 '`'           Operator
 ','           Operator
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '+'           Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'pi.f'        Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
 ''            Text
 'quote'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'quasiquote'  Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'unquote'     Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#reader'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'racket/base' Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '*'           Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ';; Make sure non-identifiers work with quotes' Comment.Single
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '('           Punctuation
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#s'          Operator
 '('           Punctuation
 ''            Text
 's'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#\\u3BB'     Literal.String.Char
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#\\U000003BB' Literal.String.Char
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#\\space'    Literal.String.Char
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#\\.'        Literal.String.Char
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#"'          Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#:kw'        Keyword.Declaration
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#&'          Operator
 'b'           Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 "#'"          Operator
 '('           Punctuation
 ''            Text
 'define'      Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#`'          Operator
 '('           Punctuation
 ''            Text
 'define'      Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'x'           Literal.String.Symbol
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '#,'          Operator
 'pi'          Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#I0'         Literal.Number.Float
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#E0'         Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#X0'         Literal.Number.Hex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#O0'         Literal.Number.Oct
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#D0'         Literal.Number.Integer
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#B0'         Literal.Number.Bin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#<<EOF\nEOF' Literal.String.Heredoc
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#rx""'       Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#rx#""'      Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#px""'       Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#px#""'      Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#hash'       Operator
 '('           Punctuation
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#hasheq'     Operator
 '['           Punctuation
 ']'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#hasheqv'    Operator
 '{'           Punctuation
 '}'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 "'"           Operator
-' '           Text
+' '           Text.Whitespace
 '#1'          Operator
 '('           Punctuation
 ''            Text
 'v'           Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'pi'          Name.Builtin
 ''            Text
-'\n '         Text
+'\n '         Text.Whitespace
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Use the following to generate lists of built-ins and keywords.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Run'      Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (displayln (wrap-lines KEYWORDS))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (displayln (wrap-lines BUILTINS))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; and copy the results into RacketLexer._keywords and RacketLexer._builtins.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; (-> (listof string?) string?)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Appends all the strings together, quoting them as appropriate for Python,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; with commas and spaces between them, wrapping at 80 characters, with an' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; indentation of 8 spaces.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'wrap-lines'  Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'lst'         Name
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'INDENTATION' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '"'           Literal.String.Double
 '        '    Literal.String.Double
 '"'           Literal.String.Double
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'WIDTH'       Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '80'          Literal.Number.Integer
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'wrap-lines*' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'lst'         Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'done-lines'  Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'current-line' Name
 ')'           Punctuation
 ''            Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 ''            Text
 'if'          Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'null?'       Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'lst'         Name
 ')'           Punctuation
 ''            Text
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 ''            Text
 'string-append' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'foldr'       Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'string-append' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'done-lines'  Name
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'current-line' Name
 ')'           Punctuation
 ''            Text
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 ''            Text
 'let*'        Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '['           Punctuation
 ''            Text
 'str'         Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'first'       Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'lst'         Name
 ')'           Punctuation
 ']'           Punctuation
 ''            Text
-'\n               ' Text
+'\n               ' Text.Whitespace
 '['           Punctuation
 ''            Text
 'wrapped-str' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'if'          Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'regexp-match-exact?' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '#px"[[:ascii:]]+"' Literal.String.Regex
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ''            Text
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 '('           Punctuation
 ''            Text
 'string-append' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 "'"           Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 "',"          Literal.String.Double
 '"'           Literal.String.Double
 ')'           Punctuation
 ''            Text
-'\n                                ' Text
+'\n                                ' Text.Whitespace
 '('           Punctuation
 ''            Text
 'string-append' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 "u'"          Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 "',"          Literal.String.Double
 '"'           Literal.String.Double
 ')'           Punctuation
 ']'           Punctuation
 ''            Text
-'\n               ' Text
+'\n               ' Text.Whitespace
 '['           Punctuation
 ''            Text
 'new-line'    Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'string-append' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'current-line' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 ' '           Literal.String.Double
 '"'           Literal.String.Double
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'wrapped-str' Name
 ')'           Punctuation
 ']'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n          ' Text
+'\n          ' Text.Whitespace
 '('           Punctuation
 ''            Text
 'if'          Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '('           Punctuation
 ''            Text
 'string-length' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'new-line'    Name
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '>='          Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'WIDTH'       Name
 ')'           Punctuation
 ''            Text
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 ''            Text
 'wrap-lines*' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'rest'        Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'lst'         Name
 ')'           Punctuation
 ''            Text
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '('           Punctuation
 ''            Text
 'append'      Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'done-lines'  Name
 ''            Text
-'\n                                   ' Text
+'\n                                   ' Text.Whitespace
 '`'           Operator
 '('           Punctuation
 ''            Text
 ''            Text
 'string-append' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'current-line' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '\\n'         Literal.String.Escape
 '"'           Literal.String.Double
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 '('           Punctuation
 ''            Text
 'string-append' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'INDENTATION' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'wrapped-str' Name
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n              ' Text
+'\n              ' Text.Whitespace
 '('           Punctuation
 ''            Text
 'wrap-lines*' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'rest'        Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'lst'         Name
 ')'           Punctuation
 ''            Text
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 'done-lines'  Name
 ''            Text
-'\n                           ' Text
+'\n                           ' Text.Whitespace
 'new-line'    Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'wrap-lines*' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'lst'         Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'INDENTATION' Name
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; (-> string? boolean?)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Returns #t if str represents a syntax identifier in the current namespace,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; otherwise #f.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'syntax-identifier?' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ')'           Punctuation
 ''            Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 ''            Text
 'with-handlers' Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '['           Punctuation
 ''            Text
 'exn?'        Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'exn?'        Name.Builtin
 ']'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 ''            Text
 'not'         Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'eval'        Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'call-with-input-string' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'str'         Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'read'        Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'RACKET-NAMESPACE' Name
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'parameterize' Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '['           Punctuation
 ''            Text
 'current-namespace' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'make-base-namespace' Name.Builtin
 ']'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 ''            Text
 'namespace-require' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 'racket'      Literal.String.Symbol
 ')'           Punctuation
 ''            Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 ''            Text
 'current-namespace' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 ''            Text
 'define'      Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'BOUND-IDENTIFIERS' Name
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'parameterize' Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '['           Punctuation
 ''            Text
 'current-namespace' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'RACKET-NAMESPACE' Name
 ']'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 ''            Text
 'sort'        Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'map'         Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'symbol->string' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'namespace-mapped-symbols' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n          ' Text
+'\n          ' Text.Whitespace
 'string<=?'   Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 ''            Text
 'define-values' Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 'KEYWORDS'    Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'BUILTINS'    Name
 ')'           Punctuation
 ''            Text
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 ''            Text
 'parameterize' Keyword
 ''            Text
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ''            Text
 '['           Punctuation
 ''            Text
 'current-namespace' Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'RACKET-NAMESPACE' Name
 ']'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 ''            Text
 'partition'   Name.Builtin
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'syntax-identifier?' Name
 ''            Text
-' '           Text
+' '           Text.Whitespace
 'BOUND-IDENTIFIERS' Name
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
index 5c22624ba2fb8f34a9dd8379ad3ff95973e4f4ea..5dfa7b660232773ad70b700ba0d11d09d64d8985 100644 (file)
@@ -94,7 +94,7 @@
 "'"           Literal.String.Char
 '<'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
 "'"           Literal.String.Char
 '>'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
 "'"           Literal.String.Char
 '&'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
 "'"           Literal.String.Char
 '<'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
 "'"           Literal.String.Char
 '>'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
 "'"           Literal.String.Char
 '&'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
 "'"           Literal.String.Char
 '<'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
 "'"           Literal.String.Char
 '>'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
 "'"           Literal.String.Char
 '&'           Literal.String.Char
 "'"           Literal.String.Char
-':'           Operator
+':'           Punctuation
 ' '           Text.Whitespace
 'cout'        Name
 ' '           Text.Whitespace
index 7c55ec835401647455dc03a13012093c17827f8d..0448c60be3d1a377b999e360e081404763a59726 100644 (file)
 '='           Operator
 '"text/javascript"' Literal.String
 '>'           Punctuation
-'\n'          Text
-
-'// <![CDATA[\n' Comment.Single
+'\n'          Text.Whitespace
 
-'  '          Text
+'// <![CDATA[' Comment.Single
+'\n  '        Text.Whitespace
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'SiteMap'     Name.Other
 '('           Punctuation
 "'site-map'"  Literal.String.Single
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'// ]]>\n'    Comment.Single
+'// ]]>'      Comment.Single
+'\n'          Text.Whitespace
 
 '<'           Punctuation
 '/'           Punctuation
index 223fcdd91b5ec2c2903e9afb660d812f67a5eba0..e49455066c7779187bf7799a7e9e145f238005ef 100644 (file)
@@ -1,9 +1,7 @@
-:import "spec"
-
 :actor Main
   :new (env)
-    Specs.run(env, [
-      SpecRun(AdditionSpec).new(env)
+    Spec.Process.run(env, [
+      Spec.Run(AdditionSpec).new(env)
     ])
 
 :class AdditionSpec
   :const describes: "Addition"
 
   :: Return the number 2 (written in hex, just for fun).
-  :const two U64'val: 0x02
+  :const _two U64'val: 0x02
 
   :it "adds two twos"
-    @assert = @two + '\x02' == 4
+    assert: @_two + '\x02' == 4
 
   :: Raise an error if the argument is positive.
   :fun non add_overflow!(a U64'val, b U64'val): a +! b
@@ -23,6 +21,9 @@
     integers Array(U64)'val = [99, 100, 101]
 
     // Check addition overflow for various pairs of addends.
-    @assert = try (add_overflow!(U64.max_value, 1), False | True)
-    @assert = try (add_overflow!(U64.max_value, 0), True | False)
-    @assert = try (add_overflow!(integers[0]!, 1), True | False)
+    assert error: add_overflow!(U64.max_value, 1)
+    assert no_error: add_overflow!(U64.max_value, 0)
+    assert no_error: add_overflow!(integers[0]!, 1)
+
+    // Print a bit of extra information using string interpolation.
+    @env.out.print("The first integer is \(integers[0]!)")
index 195753c7f3c2448ce23d15699bc3f8cd74f80c8f..51634e469f08e9407db8c49c12b78a7300674e6f 100644 (file)
@@ -1,12 +1,3 @@
-':import'     Name.Tag
-' '           Text.Whitespace
-'"'           Literal.String.Double
-'spec'        Literal.String.Double
-'"'           Literal.String.Double
-'\n'          Text.Whitespace
-
-'\n'          Text.Whitespace
-
 ':actor'      Name.Tag
 ' '           Text.Whitespace
 'Main'        Name.Class
@@ -21,7 +12,9 @@
 '\n'          Text.Whitespace
 
 '    '        Text.Whitespace
-'Specs'       Name.Class
+'Spec'        Name.Class
+'.'           Punctuation
+'Process'     Name.Class
 '.'           Punctuation
 'run'         Name.Function
 '('           Punctuation
@@ -32,7 +25,9 @@
 '\n'          Text.Whitespace
 
 '      '      Text.Whitespace
-'SpecRun'     Name.Class
+'Spec'        Name.Class
+'.'           Punctuation
+'Run'         Name.Class
 '('           Punctuation
 'AdditionSpec' Name.Class
 ')'           Punctuation
@@ -77,7 +72,7 @@
 '  '          Text.Whitespace
 ':const'      Name.Tag
 ' '           Text.Whitespace
-'two'         Keyword.Declaration
+'_two'        Keyword.Declaration
 ' '           Text.Whitespace
 'U64'         Name.Class
 "'"           Operator
 '\n'          Text.Whitespace
 
 '    '        Text.Whitespace
-'@'           Punctuation
-'assert'      Name.Function
-' '           Text.Whitespace
-'='           Operator
+'assert'      Name
+':'           Punctuation
 ' '           Text.Whitespace
 '@'           Punctuation
-'two'         Name.Function
+'_two'        Name.Function
 ' '           Text.Whitespace
 '+'           Operator
 ' '           Text.Whitespace
 '\n'          Text.Whitespace
 
 '    '        Text.Whitespace
-'@'           Punctuation
-'assert'      Name.Function
+'assert'      Name
 ' '           Text.Whitespace
-'='           Operator
-' '           Text.Whitespace
-'try'         Name
+'error'       Name
+':'           Punctuation
 ' '           Text.Whitespace
-'('           Punctuation
 'add_overflow!' Generic.Deleted
 '('           Punctuation
 'U64'         Name.Class
 ' '           Text.Whitespace
 '1'           Literal.Number
 ')'           Punctuation
-','           Punctuation
-' '           Text.Whitespace
-'False'       Name.Class
-' '           Text.Whitespace
-'|'           Operator
-' '           Text.Whitespace
-'True'        Name.Class
-')'           Punctuation
 '\n'          Text.Whitespace
 
 '    '        Text.Whitespace
-'@'           Punctuation
-'assert'      Name.Function
-' '           Text.Whitespace
-'='           Operator
+'assert'      Name
 ' '           Text.Whitespace
-'try'         Name
+'no_error'    Name
+':'           Punctuation
 ' '           Text.Whitespace
-'('           Punctuation
 'add_overflow!' Generic.Deleted
 '('           Punctuation
 'U64'         Name.Class
 ' '           Text.Whitespace
 '0'           Literal.Number
 ')'           Punctuation
-','           Punctuation
-' '           Text.Whitespace
-'True'        Name.Class
-' '           Text.Whitespace
-'|'           Operator
-' '           Text.Whitespace
-'False'       Name.Class
-')'           Punctuation
 '\n'          Text.Whitespace
 
 '    '        Text.Whitespace
-'@'           Punctuation
-'assert'      Name.Function
-' '           Text.Whitespace
-'='           Operator
+'assert'      Name
 ' '           Text.Whitespace
-'try'         Name
+'no_error'    Name
+':'           Punctuation
 ' '           Text.Whitespace
-'('           Punctuation
 'add_overflow!' Generic.Deleted
 '('           Punctuation
 'integers'    Name
 ' '           Text.Whitespace
 '1'           Literal.Number
 ')'           Punctuation
-','           Punctuation
-' '           Text.Whitespace
-'True'        Name.Class
-' '           Text.Whitespace
-'|'           Operator
-' '           Text.Whitespace
-'False'       Name.Class
+'\n\n'        Text.Whitespace
+
+'    '        Text.Whitespace
+'// Print a bit of extra information using string interpolation.' Comment.Single
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'@'           Punctuation
+'env'         Name.Function
+'.'           Punctuation
+'out'         Name.Function
+'.'           Punctuation
+'print'       Name.Function
+'('           Punctuation
+'"'           Literal.String.Double
+'The first integer is ' Literal.String.Double
+'\\('         Literal.String.Interpol
+'integers'    Name
+'['           Punctuation
+'0'           Literal.Number
+']'           Punctuation
+'!'           Generic.Deleted
+')'           Literal.String.Interpol
+'"'           Literal.String.Double
 ')'           Punctuation
 '\n'          Text.Whitespace
index fff499fc18d4d0e4d7cc5ad98dc8736c52fbef39..91e45b90742691a9d8c967510bb4a65b30c56bdb 100644 (file)
@@ -1,13 +1,13 @@
 "'symbol"     Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'a'"         Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'\\u1234'"   Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'"           Literal.String.Char
 '\\n'         Literal.String.Escape
 "'"           Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
index ccf7c0771b4b64d6a911cecedd79efacdcffdb4e..a14f13efea0ab62bc1cdf006e1165234f493fab2 100644 (file)
@@ -3,14 +3,14 @@
 '/*'          Comment.Multiline
 ' Comment block ' Comment.Multiline
 '*/'          Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*'          Comment.Multiline
 ' Multi-line \n ' Comment.Multiline
 '*'           Comment.Multiline
 ' comment block\n ' Comment.Multiline
 '*/'          Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*'          Comment.Multiline
 '  '          Comment.Multiline
@@ -27,7 +27,7 @@
 '*/'          Comment.Multiline
 ' '           Comment.Multiline
 '*/'          Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '/*'          Comment.Multiline
 '*'           Comment.Multiline
@@ -44,7 +44,7 @@
 ' '           Comment.Multiline
 '*'           Comment.Multiline
 '*/'          Comment.Multiline
-'\n'          Text
+'\n'          Text.Whitespace
 
 '// /* Commented-out comment block\n' Comment.Single
 
index 98c0b6c096a081b3161c3a68dc4d85e41abe6ac1..cd2a761df90c208f4b9e6610c7ff286f29f0ac2e 100644 (file)
 'true'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1L'          Literal.Number.Integer.Long
-' '           Text
+' '           Text.Whitespace
 '1l'          Literal.Number.Integer.Long
-' '           Text
+' '           Text.Whitespace
 '10L'         Literal.Number.Integer.Long
-' '           Text
+' '           Text.Whitespace
 '12123123L'   Literal.Number.Integer.Long
-'\n'          Text
+'\n'          Text.Whitespace
 
 '3.0'         Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '12.345'      Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '3f'          Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.0f'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3F'          Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.0F'        Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '3d'          Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.0d'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3D'          Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3.0D'        Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '110_222_795_799.99' Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '110.9499_999' Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '2_000.343_999e561_100' Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1e12'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1e+34'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1e-56'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1e12f'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1e+34f'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1e-56f'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1e12d'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1e+34d'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1e-56d'      Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1E12'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1E+34'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1E-56'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1E12f'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1E+34f'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1E-56f'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1E12d'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1E+34d'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1E-56d'      Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.1e12'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e+34'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e-56'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e12f'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e+34f'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e-56f'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e12d'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e+34d'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e-56d'     Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.1E12'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E+34'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E-56'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E12f'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E+34f'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E-56f'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E12d'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E+34d'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E-56d'     Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0x'          Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '// Can still be highlighted correctly!\n' Comment.Single
 
 '0x1234567890ABCDEF' Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '0x1234567890abcdef' Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0x123_abc'   Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '0x123_ABC'   Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"test"'      Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\\"test\\""' Literal.String
-' '           Text
+' '           Text.Whitespace
 '"\'test\'"'  Literal.String
-' '           Text
+' '           Text.Whitespace
 '// comment\n' Comment.Single
 
 '"""test: one ", two "", three """"""' Literal.String
-' '           Text
+' '           Text.Whitespace
 '// comment\n' Comment.Single
 
 "'t'"         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '\'"\''       Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 "\\'"         Literal.String.Escape
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 "'"           Literal.String.Char
 '\\n'         Literal.String.Escape
 "'"           Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 "' '"         Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
 
 'super'       Name.Builtin.Pseudo
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Builtin.Pseudo
-'\n'          Text
+'\n'          Text.Whitespace
index d63c86ec7a6897ed1bea7c006f345e8e73dea97a..3a94111a2ee6246cff7d368023cd550d39ac66e5 100644 (file)
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'z'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'z'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Some'        Name.Class
 '('           Punctuation
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Some'        Name.Class
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Pair'        Name.Class
 '('           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Pair'        Name.Class
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Test'        Name.Class
 '.'           Punctuation
 'Pair'        Name.Class
 '('           Punctuation
 'a'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Test'        Name.Class
 '.'           Punctuation
 'Pair'        Name.Class
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'Nil'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'Nil'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+:'          Operator
-' '           Text
+' '           Text.Whitespace
 'rest'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'foo_+'       Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"foo plus"'  Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'foo_⌬⌬'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"double benzene"' Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'abs'         Name.Function
 '['           Punctuation
 'T'           Name.Class
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'now'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 'x'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'abs'         Name.Function
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'now'         Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 'x'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'sum'         Name.Function
 '['           Punctuation
 'A'           Name.Class
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'A'           Name.Class
 ')'           Punctuation
 '('           Punctuation
 'implicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Monoid'      Name.Class
 '['           Punctuation
 'A'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'sum'         Name.Function
 '['           Punctuation
 'A'           Name.Class
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'A'           Name.Class
 ')'           Punctuation
 '('           Punctuation
 'implicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'Monoid'      Name.Class
 '['           Punctuation
 'A'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'sum'         Name.Function
 '['           Punctuation
 'A'           Name.Class
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'A'           Name.Class
 ')'           Punctuation
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'm'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Monoid'      Name.Class
 '['           Punctuation
 'A'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'sum'         Name.Function
 '['           Punctuation
 'A'           Name.Class
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'A'           Name.Class
 ')'           Punctuation
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Monoid'      Name.Class
 '['           Punctuation
 'A'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'reduceRight' Name.Function
 '('           Punctuation
 'op'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'T'           Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'foldRight'   Name.Function
 '['           Punctuation
 ']'           Punctuation
 '('           Punctuation
 'z'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'U'           Name.Class
 ')'           Punctuation
 '('           Punctuation
 'op'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'T'           Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'U'           Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'U'           Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'U'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Function
 '('           Punctuation
 'fields'      Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'String'      Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Any'         Name.Class
 ')'           Punctuation
 '*'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'test'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Json'        Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '::'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '::'          Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'xs'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '::'          Name.Function
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '::'          Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'xs'          Name
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'open'        Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'open'        Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Class
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Class
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'package'     Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'package'     Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Namespace
 ':'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
 '['           Punctuation
 'Y'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Z'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
 '['           Punctuation
 'Y'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
 '['           Punctuation
 'Y'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Y'           Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Bar'         Name.Class
 '.'           Punctuation
 'Baz'         Name.Class
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'listOrd'     Name
 '['           Punctuation
 'T'           Name.Class
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 ']'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'List'        Name.Class
 'T'           Name.Class
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'listOrd'     Name
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ev'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ev'          Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'Int'         Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'T'           Name.Class
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 ']'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'List'        Name.Class
 'T'           Name.Class
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ev'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ev'          Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'intOrd'      Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'Int'         Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 '`foo`'       Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'listOrd'     Name
 '['           Punctuation
 'T'           Name.Class
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 ']'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'List'        Name.Class
 'T'           Name.Class
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'listOrd'     Name
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ev'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ev'          Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'Int'         Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'T'           Name.Class
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 ']'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'List'        Name.Class
 'T'           Name.Class
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ev'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ev'          Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'sumMonoid'   Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Monoid'      Name.Class
 '['           Punctuation
 'Int'         Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'combine'     Name.Function
 '('           Punctuation
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-' \n  '       Text
+' \n  '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'unit'        Name.Function
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Ord'         Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ':'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'compare'     Name.Function
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-'\n   '       Text
+'\n   '       Text.Whitespace
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'compare'     Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n   '       Text
+'\n   '       Text.Whitespace
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '>'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'compare'     Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'intOrd'      Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ord'         Name.Class
 '['           Punctuation
 'Int'         Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'compare'     Name.Function
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'listOrd'     Name
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ord'         Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ord'         Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ord'         Name.Class
 '['           Punctuation
 'List'        Name.Class
 'T'           Name.Class
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n   '       Text
+'\n   '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'compare'     Name.Function
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ys'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'xs'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ys'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'match'       Keyword
-'\n      '    Text
+'\n      '    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Nil'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Nil'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n      '    Text
+'\n      '    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Nil'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
 '1'           Literal.Number.Integer
-'\n      '    Text
+'\n      '    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '_'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Nil'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 '1'           Literal.Number.Integer
-'\n      '    Text
+'\n      '    Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'xs1'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'ys1'         Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-'\n         ' Text
+'\n         ' Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'fst'         Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ord'         Name
 '.'           Punctuation
 'compare'     Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'fst'         Name
-' '           Text
+' '           Text.Whitespace
 '!='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 'fst'         Name
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 'compare'     Name
 '('           Punctuation
 'xs1'         Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ys1'         Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'ac'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'bc'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'O'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'summon'      Name
 '['           Punctuation
 'C'           Name.Class
 ']'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '// Classes\n' Comment.Single
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Bar'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 '::'          Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Rational'    Name.Class
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'numer'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'denom'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Cons'        Name.Class
 '('           Punctuation
 '_head'       Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_tail'       Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'IntList'     Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'IntList'     Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'head'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_head'       Name
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'tail'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_tail'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Double'      Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Double'      Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Float'       Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Float'       Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Long'        Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Long'        Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '+'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '// same for -, *, /, %\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '<<'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cnt'         Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '// same for >>, >>> */\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '&'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Long'        Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Long'        Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '&'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '// same for |, ^ */\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '=='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Double'      Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Boolean'     Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '=='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Float'       Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Boolean'     Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '=='          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'that'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Long'        Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Boolean'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '// same for !=, <, >, <=, >=\n' Comment.Single
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Sub'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Base'        Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Something'   Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'override'    Keyword
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'foo'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'bar'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Succ'        Name.Class
 '('           Punctuation
 'n'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Nat'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Nat'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 '// ...\n'    Comment.Single
 
 'open'        Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Writer'      Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '/*'          Comment.Multiline
 '*'           Comment.Multiline
 ' Sends to stdout, can be overridden ' Comment.Multiline
 '*/'          Comment.Multiline
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'send'        Name.Function
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'println'     Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '/*'          Comment.Multiline
 '*'           Comment.Multiline
 ' Sends all arguments using `send` ' Comment.Multiline
 '*/'          Comment.Multiline
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'sendAll'     Name.Function
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 '*'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'xs'          Name
 '.'           Punctuation
 'foreach'     Name
 '('           Punctuation
 'send'        Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'LazyList'    Name.Class
 '['           Punctuation
 '+'           Operator
 '('           Punctuation
 'init'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'State'       Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'lazy'        Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'state'       Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'State'       Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'init'        Name
-'\t\t\t\n\n'  Text
+'\t\t\t\n\n'  Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Bar'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 '*:'          Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 '*:'          Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 '::'          Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'Nil'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 '⌘'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  \n'      Text
+'\n  \n'      Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Bar'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Zero'        Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Nat'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Enum'        Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Enumeration' Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Bar'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Baz'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Value'       Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Red'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Green'       Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Blue'        Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Magenta'     Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
 '('           Punctuation
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'test'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Red'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Green'       Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Blue'        Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Magenta'     Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'isPrimary'   Name.Function
 '('           Punctuation
 'color'       Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Boolean'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'color'       Name
-' '           Text
+' '           Text.Whitespace
 'match'       Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Red'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'Green'       Name.Class
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'Blue'        Name.Class
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n        '  Text
+'\n        '  Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Magenta'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'State'       Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Empty'       Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Cons'        Name.Class
 '('           Punctuation
 'hd'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tl'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'LazyList'    Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'abstract'    Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Red'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Green'       Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Blue'        Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Magenta'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
 '('           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Vehicle'     Name.Class
 '('           Punctuation
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'numberOfWheels' Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Unicycle'    Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Vehicle'     Name.Class
 '('           Punctuation
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Bicycle'     Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Vehicle'     Name.Class
 '('           Punctuation
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Car'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Vehicle'     Name.Class
 '('           Punctuation
 '4'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Vehicle'     Name.Class
 '('           Punctuation
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'numberOfWheels' Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Unicycle'    Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Vehicle'     Name.Class
 '('           Punctuation
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Bicycle'     Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Vehicle'     Name.Class
 '('           Punctuation
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Car'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Vehicle'     Name.Class
 '('           Punctuation
 '4'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 70f2ad5277ce55f451ec89840ef4c1b35b67cbac..9348a79c94b8a4b1dba0666c5da9b0336bd94881 100644 (file)
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Entry'       Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Key'         Name.Class
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'key'         Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Key'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'extractKey'  Name.Function
 '('           Punctuation
 'e'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Entry'       Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '.'           Punctuation
 'Key'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '.'           Punctuation
 'key'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'extractor'   Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'e'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Entry'       Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '.'           Punctuation
 'Key'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'extractKey'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Extractor'   Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Function1'   Name.Class
 '['           Punctuation
 'Entry'       Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Entry'       Name.Class
 '#'           Name
 'Key'         Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'apply'       Name.Function
 '('           Punctuation
 'e'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Entry'       Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'e'           Name
 '.'           Punctuation
 'Key'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 39ead49ce962f16544b45e06f67d23050d6a8ae4..d13446166a88c2df2eb56f6cc3bbe28cedf6e347 100644 (file)
@@ -1,6 +1,6 @@
 'end'         Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
index 3f3205c50ff6b6071a0ec5db9c5e6f6ee33fd914..efcfba911667027f4f0ca21ef7e1b5ec41d7e695 100644 (file)
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
 ':'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '// ...\n'    Comment.Single
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'extension'   Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'while'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'match'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'bar'         Name.Namespace
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 '`bar`'       Name.Namespace
-'\n'          Text
+'\n'          Text.Whitespace
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
 'package'     Keyword
-' '           Text
+' '           Text.Whitespace
 'p1'          Name.Namespace
 '.'           Punctuation
 'p2'          Name
 ':'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'abstract'    Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
 '('           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Function
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n      '    Text
+'\n      '    Text.Whitespace
 'this'        Name.Builtin.Pseudo
 '('           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-'\n        '  Text
+'\n        '  Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n          ' Text
+'\n          ' Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'Nil'         Name.Class
-'\n        '  Text
+'\n        '  Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n          ' Text
+'\n          ' Text.Whitespace
 'x'           Name
-'\n        '  Text
+'\n        '  Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'do'          Keyword
-'\n          ' Text
+'\n          ' Text.Whitespace
 'println'     Name
 '('           Punctuation
 'y'           Name
 ')'           Punctuation
-'\n          ' Text
+'\n          ' Text.Whitespace
 'y'           Name
-' '           Text
+' '           Text.Whitespace
 '-='          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n        '  Text
+'\n        '  Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'while'       Keyword
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'try'         Keyword
-'\n          ' Text
+'\n          ' Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 'match'       Keyword
-'\n            ' Text
+'\n            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'println'     Name
 '('           Punctuation
 '"0"'         Literal.String
 ')'           Punctuation
-'\n            ' Text
+'\n            ' Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-'\n          ' Text
+'\n          ' Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'match'       Keyword
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'        '    Text
+'        '    Text.Whitespace
 'finally'     Keyword
-'\n          ' Text
+'\n          ' Text.Whitespace
 'println'     Name
 '('           Punctuation
 '"done"'      Literal.String
 ')'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'try'         Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'this'        Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Function
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
 ':'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n      '    Text
+'\n      '    Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
 ':'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"!"'         Literal.String
-'\n        '  Text
+'\n        '  Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'      '      Text
+'      '      Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'    '        Text
+'    '        Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'given'       Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
-'  '          Text
+'  '          Text.Whitespace
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'C'           Name.Class
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'ff'          Name.Function
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 '.'           Punctuation
 'f'           Name
-' '           Text
+' '           Text.Whitespace
 '++'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 '.'           Punctuation
 'f'           Name
-'\n  '        Text
+'\n  '        Text.Whitespace
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
 
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'p2'          Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '// test comment\n' Comment.Single
index cb8f8a86041015140950f507e74767495ffafcbf..0968bf2979f9ee37bd6b78107cb22660a823bdcb 100644 (file)
@@ -1,26 +1,26 @@
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 '// This is incorrect Scala but can still be highlighted correctly\n' Comment.Single
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '_'           Name
 '\n'          Text
 
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '// Test comment\n' Comment.Single
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 'x'           Name.Namespace
 'y'           Name.Namespace
 '.'           Punctuation
 'z'           Name
-' '           Text
+' '           Text.Whitespace
 '// Test comment\n' Comment.Single
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '}'           Punctuation
 '\n'          Text
 
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '}'           Punctuation
 '\n'          Text
 
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// This is incorrect Scala but can still be highlighted correctly\n' Comment.Single
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '`test-name`' Name
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// Test comment\n' Comment.Single
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'given'       Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '// Test comment\n' Comment.Single
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '// Test comment\n' Comment.Single
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '_'           Name
 '\n'          Text
 
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// Test comment\n' Comment.Single
 
 ''            Text
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '}'           Punctuation
 '\n'          Text
 
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '`test-name`' Name
 '}'           Punctuation
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'scanUnit'    Name.Namespace
 '.'           Punctuation
 'scan'        Name
 '\n'          Text
 
-'  '          Text
+'  '          Text.Whitespace
 'export'      Keyword
-' '           Text
+' '           Text.Whitespace
 'printUnit'   Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'status'      Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '_'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_'           Name
 '}'           Punctuation
 '\n'          Text
index b9255151a9da37f2276c96a056fae6e19d437216..6fcb3ac09eb2f0e1bf8e3701bd893dfdfedf15bd 100644 (file)
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Boolean'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Elem'        Name.Class
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '+:'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Seq'         Name.Class
 '['           Punctuation
 'Elem'        Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Seq'         Name.Class
 '['           Punctuation
 'Elem'        Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Number'      Name.Class
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'infix'       Keyword
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'min'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Number'      Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Number'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ss'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Seq'         Name.Class
 '['           Punctuation
 'String'      Name.Class
 ']'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'longestStrings' Name.Function
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Seq'         Name.Class
 '['           Punctuation
 'String'      Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n      '    Text
+'\n      '    Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'maxLength'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ss'          Name
 '.'           Punctuation
 'map'         Name
 ')'           Punctuation
 '.'           Punctuation
 'max'         Name
-'\n      '    Text
+'\n      '    Text.Whitespace
 'ss'          Name
 '.'           Punctuation
 'filter'      Name
 '_'           Name
 '.'           Punctuation
 'length'      Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'maxLength'   Name
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'longestString' Name.Function
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'longestStrings' Name
 '.'           Punctuation
 'head'        Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ss'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Seq'         Name.Class
 '['           Punctuation
 'String'      Name.Class
 ']'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'longestStrings' Name.Function
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Seq'         Name.Class
 '['           Punctuation
 'String'      Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'maxLength'   Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'ss'          Name
 '.'           Punctuation
 'map'         Name
 ')'           Punctuation
 '.'           Punctuation
 'max'         Name
-'\n      '    Text
+'\n      '    Text.Whitespace
 'ss'          Name
 '.'           Punctuation
 'filter'      Name
 '_'           Name
 '.'           Punctuation
 'length'      Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 'maxLength'   Name
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '}'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'longestString' Name.Function
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'longestStrings' Name
 '.'           Punctuation
 'head'        Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'isZero'      Name.Function
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Boolean'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'i'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'divide'      Name.Function
 '('           Punctuation
 'd'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Option'      Name.Class
 '['           Punctuation
 '('           Punctuation
 'Int'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Rational'    Name.Class
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'infix'       Keyword
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'min'         Name.Function
 '('           Punctuation
 'that'        Name
-' '           Text
+' '           Text.Whitespace
 'Rational'    Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Rational'    Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'T'           Name.Class
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 ']'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'List'        Name.Class
 'T'           Name.Class
 ']'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-'\n  '        Text
+'\n  '        Text.Whitespace
 'extension'   Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ys'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Boolean'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '.'           Punctuation
 '.'           Punctuation
 '.'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 55147d5727945801f83f1740e8c003960c682d84..d21e382c0769e3cea4968d4012a9efa4174f7e23 100644 (file)
@@ -1,53 +1,53 @@
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<-'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'to'          Name
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'user'        Name
-' '           Text
+' '           Text.Whitespace
 '<-'          Operator
-' '           Text
+' '           Text.Whitespace
 'userBase'    Name
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'user'        Name
 '.'           Punctuation
 'age'         Name
-' '           Text
+' '           Text.Whitespace
 '>='          Operator
-' '           Text
+' '           Text.Whitespace
 '20'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '&&'          Operator
-' '           Text
+' '           Text.Whitespace
 'user'        Name
 '.'           Punctuation
 'age'         Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
-' '           Text
+' '           Text.Whitespace
 '30'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'yield'       Keyword
-' '           Text
+' '           Text.Whitespace
 'user'        Name
 '.'           Punctuation
 'name'        Name
-'\n'          Text
+'\n'          Text.Whitespace
index 408e910c9f30f9bc2d78a1f56a40f2ac9eaf35ee..631d0d0e55ecd6d0fed74ac30aa48229da03272f 100644 (file)
@@ -1,96 +1,96 @@
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 '// This is incorrect Scala but can still be highlighted correctly\n' Comment.Single
 
 ''            Text
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// Test comment\n' Comment.Single
 
 ''            Text
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '// This is incorrect Scala but can still be highlighted correctly\n' Comment.Single
 
 ''            Text
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '`test-name`' Name
 '}'           Punctuation
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 'given'       Keyword
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 '}'           Punctuation
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '}'           Punctuation
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 '_'           Name
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 'x'           Name
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 'x'           Name.Namespace
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'java'        Name.Namespace
 '.'           Punctuation
 'io'          Name.Namespace
 '{'           Punctuation
 'File'        Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'IOException' Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'FileNotFoundException' Name.Class
 '}'           Punctuation
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'java'        Name.Namespace
 '.'           Punctuation
 'io'          Name.Namespace
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'scala'       Name.Namespace
 '.'           Punctuation
 'math'        Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 'Int'         Name.Class
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'scala'       Name.Namespace
 '.'           Punctuation
 'math'        Name.Namespace
 '.'           Punctuation
 '{'           Punctuation
 'given'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 '['           Punctuation
 '?'           Name
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 'givenSomething' Name
 '\n'          Text
 
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'givenPackage' Name
 '\n'          Text
index c55eec64ebed5094c714d369000db85957dd4438..beae9fe415136ddbfe2a9a102d4f07641fca06cd 100644 (file)
@@ -1,68 +1,68 @@
 '// Extends\n' Comment.Single
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'B'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Class
 ')'           Punctuation
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'Red'         Name.Class
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Color'       Name.Class
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '// Derives\n' Comment.Single
 
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Tree'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'derives'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Eq'          Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ordering'    Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Show'        Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Branch'      Name.Class
 '['           Punctuation
 'T'           Name.Class
 '('           Punctuation
 'left'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Tree'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'right'       Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Tree'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Leaf'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 '('           Punctuation
 'elem'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'T'           Name.Class
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 4104d2bd20cc337bbbe4e3fb5355cdb0e349b7a1..57af6722a1418d5e754c75393e3d71ad3711476a 100644 (file)
@@ -1,77 +1,77 @@
 'inline'      Keyword
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'inline'      Name.Function
 '('           Punctuation
 'inline'      Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Double'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inline'      Keyword
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'power'       Name.Function
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Double'      Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'inline'      Keyword
-' '           Text
+' '           Text.Whitespace
 'n'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Double'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inline'      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
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inline'      Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
index 9c650371c636ed9649f8700cd7d84e40463a79aa..9916f16b1f86d589d3d1018a20b3d091efedbb53 100644 (file)
@@ -1,33 +1,33 @@
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's"'          Literal.String
 'n='          Literal.String
 '$'           Literal.String.Interpol
 'n'           Name
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's"'          Literal.String
 'n='          Literal.String
 '$'           Literal.String.Interpol
 "''"          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's"""'        Literal.String
 'n='          Literal.String
 '$'           Literal.String.Interpol
 'n'           Name
 '"""'         Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f"'          Literal.String
 'n='          Literal.String
 '$'           Literal.String.Interpol
 '%f'          Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'f"""'        Literal.String
 'n='          Literal.String
 '$'           Literal.String.Interpol
 '%f'          Literal.String
 '"""'         Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'd2'          Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's"""'        Literal.String
 'a'           Literal.String
 '"'           Literal.String
 '"""'         Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'e'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's"'          Literal.String
 'abc'         Literal.String
 '\\u'         Literal.String
 '00e9'        Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'f'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's"'          Literal.String
 'a'           Literal.String
 '${'          Literal.String.Interpol
 'b'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'g'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 's"'          Literal.String
 'a'           Literal.String
 '${'          Literal.String.Interpol
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '}'           Literal.String.Interpol
 'b'           Literal.String
 '"'           Literal.String
 ';'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 's"'          Literal.String
 '1 + 2 = '    Literal.String
 '${'          Literal.String.Interpol
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Literal.String.Interpol
 '.'           Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 's"""'        Literal.String
 '1 + 2 = '    Literal.String
 '${'          Literal.String.Interpol
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'add'         Name.Function
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
-'\n  '        Text
+'\n  '        Text.Whitespace
 '}'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'add'         Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Literal.String.Interpol
 '.'           Literal.String
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 's"'          Literal.String
 '$'           Literal.String.Interpol
 '$'           Literal.String.Interpol
 'second'      Name
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 's"'          Literal.String
 '$'           Literal.String.Interpol
 '$'           Literal.String.Interpol
 'safeTagMarker' Name
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 's"'          Literal.String
 '$'           Literal.String.Interpol
 'b'           Name
 '}'           Literal.String.Interpol
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 's"'          Literal.String
 '${'          Literal.String.Interpol
 'x$'          Name
 '}'           Literal.String.Interpol
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 's"'          Literal.String
 '$'           Literal.String.Interpol
 '$'           Literal.String.Interpol
 'a'           Name
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '// $$ is an escape\n' Comment.Single
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
 '('           Punctuation
 'a'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 's"'          Literal.String
 '$'           Literal.String.Interpol
 'safeTagMarker' Name
 '${'          Literal.String.Interpol
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
 '('           Punctuation
 'a'           Name
 '$'           Literal.String.Interpol
 'safeTagMarker' Name
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
index a1d582352ab1793e2e30dcd5a1bca6fd390ab122..71a1fbd1c9da75b596cd550da426d8cf24904463 100644 (file)
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Elem'        Name.Class
 '['           Punctuation
 'X'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'match'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'Char'        Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Array'       Name.Class
 '['           Punctuation
 't'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 't'           Name
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Iterable'    Name.Class
 '['           Punctuation
 't'           Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 't'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Concat'      Name.Class
 '['           Punctuation
 'Xs'          Name.Class
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'Tuple'       Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
 'Ys'          Name.Class
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'Tuple'       Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'Tuple'       Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Xs'          Name.Class
-' '           Text
+' '           Text.Whitespace
 'match'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Unit'        Name.Class
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'Ys'          Name.Class
-'\n  '        Text
+'\n  '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '*:'          Operator
-' '           Text
+' '           Text.Whitespace
 'xs'          Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '*:'          Operator
-' '           Text
+' '           Text.Whitespace
 'Concat'      Name.Class
 '['           Punctuation
 'xs'          Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Ys'          Name.Class
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 809c21888cc631c4492b7f1025abb985590cc1be..27b7fbcdf08f54a765ec92ffe60ff6c5c5edb2de 100644 (file)
@@ -1,44 +1,44 @@
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'foo'         Name
 '.'           Punctuation
 'Foo'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
 '.'           Punctuation
 'Foo'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
 ':'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
index 19449e0e88601fe83a70cf2daf7b347c207e746e..b63425961ae5c6a4c6f9fce0f611a5f66a97f61f 100644 (file)
@@ -1,52 +1,52 @@
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '::'          Operator
-' '           Text
+' '           Text.Whitespace
 'Nil'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '++'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 ':+'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+:'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 ':++'         Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '++:'         Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
index 79d03b7ac16b218185f3818fd9ff0fcc3f49c690..40acee66feaf2a4dc214b2c472d5248b3018e1d7 100644 (file)
@@ -1,14 +1,14 @@
 'package'     Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 ''            Text
 'package'     Keyword
-' '           Text
+' '           Text.Whitespace
 'com'         Name
 '\n'          Text
 
 'package'     Keyword
-' '           Text
+' '           Text.Whitespace
 'com'         Name.Namespace
 '.'           Punctuation
 'example'     Name
index 0a22da0c0ce54e723ac346c3a6098e8160613b67..35a3da3ee718ccb8161420f122d22667074fbc77 100644 (file)
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Function
 '('           Punctuation
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 'match'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '`y`'         Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' \n    '     Text
+' \n    '     Text.Whitespace
 'case'        Keyword
-'  '          Text
+'  '          Text.Whitespace
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
-' '           Text
+' '           Text.Whitespace
 'Seq'         Name.Class
 '('           Punctuation
 '_'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 '_'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' \n    '     Text
+' \n    '     Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Seq'         Name.Class
 '('           Punctuation
 'first'       Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'tail'        Name
-' '           Text
+' '           Text.Whitespace
 '@'           Operator
-' '           Text
+' '           Text.Whitespace
 '_*'          Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'first'       Name
-' '           Text
+' '           Text.Whitespace
 '+:'          Operator
-' '           Text
+' '           Text.Whitespace
 'tail'        Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-'\n    '      Text
+'\n    '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Number'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 '.'           Punctuation
 'n'           Name
-'\n    '      Text
+'\n    '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Lit'         Name.Class
 '('           Punctuation
 'n'           Name
 ')'           Punctuation
-'        '    Text
+'        '    Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-'\n    '      Text
+'\n    '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 'IsZero'      Name.Class
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
-'     '       Text
+'     '       Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 'eval'        Name
 '('           Punctuation
 'u'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=='          Operator
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n    '      Text
+'\n    '      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '_'           Name
-' '           Text
+' '           Text.Whitespace
 '=>'          Operator
-' '           Text
+' '           Text.Whitespace
 '15'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 755821c164166f5f2e5fc7a314c8cd5cf77049c9..7a10653d5c34be2e0530fd8a9e0f7bba440ab444 100644 (file)
@@ -1,13 +1,13 @@
 "'{"          Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'["          Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
-' '           Text
+' '           Text.Whitespace
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index dbfe9e470d9b5ff530264572e10c7ea5ab8e94ca..3d87eada1f508245f36adee78144adf310b480c1 100644 (file)
@@ -1,89 +1,89 @@
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
 '['           Punctuation
 'T'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 '.'           Punctuation
 'type'        Keyword
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'a'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 '.'           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Foo'         Name.Class
 '['           Punctuation
 'x'           Name
 '.'           Punctuation
 'type'        Keyword
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Test'        Name.Class
 '['           Punctuation
 'A'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'MyTest'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Test'        Name.Class
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'one'         Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
index e8f3c5db7c19d3caef4ce010b1d20b00aec93fdf..cc19e5fadf976d5e0102179479a2f783626c28c3 100644 (file)
@@ -1,45 +1,45 @@
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'open'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'inline'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inline'      Keyword
-' '           Text
+' '           Text.Whitespace
 'xval'        Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'x'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'inline'      Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'using'       Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'usingSomething' Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index a013e455efd41cc369d381e3423eb4c33fad04ec..04f294194e5b8dcbea6e948aae2ad51edbc54bf9 100644 (file)
@@ -1,25 +1,25 @@
 'private'     Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword
 '['           Punctuation
 'com'         Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'private'     Keyword
 '['           Punctuation
 '.'           Punctuation
 'example'     Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'c'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'd'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
 '['           Punctuation
 'com'         Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'protected'   Keyword
 '['           Punctuation
 '.'           Punctuation
 'example'     Name
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'object'      Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'synchronized' Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'abstract'    Keyword
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'g'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'final'       Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'lazy'        Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'sealed'      Keyword
-' '           Text
+' '           Text.Whitespace
 'trait'       Keyword
-' '           Text
+' '           Text.Whitespace
 'j'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 'implicit'    Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'k'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'enum'        Keyword
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'inline'      Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'n'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'opaque'      Keyword
-' '           Text
+' '           Text.Whitespace
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'o'           Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'Unit'        Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@volatile'   Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '@transient'  Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '@native'     Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'override'    Keyword
-' '           Text
+' '           Text.Whitespace
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
index 2a27f6fae804e9b70c25f1e0bb6335830fd4c774..70475a54eb55809af7b1c2686f7e2c5058a2bd20 100644 (file)
@@ -1,41 +1,41 @@
 '// Symbols:\n' Comment.Single
 
 "'*"          Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '//test\n'    Comment.Single
 
 "'*"          Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'symbol_*"   Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'symbol1"    Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 "//'\n"       Comment.Single
 
 "'ξφδ"        Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'φδφ0"       Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'δφξφξ_+-"   Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'***"        Literal.String.Symbol
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '// Not (just) symbols:\n' Comment.Single
 
 "'symbol"     Literal.String.Symbol
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 "'**"         Literal.String.Symbol
 '_x'          Name
-' '           Text
+' '           Text.Whitespace
 "//'\n"       Comment.Single
 
 "'x'"         Literal.String.Char
-'\n'          Text
+'\n'          Text.Whitespace
index ff17f80b5e9b5c7ccfd81d786b9204813adfd27c..111d78150fd77b80bc5520c3676eb085f7d52712 100644 (file)
@@ -1,95 +1,95 @@
 'Type'        Name.Class
 '['           Punctuation
 'A'           Name.Class
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-' '           Text
+' '           Text.Whitespace
 '"user provided string"' Literal.String
-' '           Text
+' '           Text.Whitespace
 'with'        Keyword
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Class
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'help'        Name.Function
 '('           Punctuation
 'id'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'UserName'    Name.Class
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'Password'    Name.Class
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'either'      Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Password'    Name.Class
-' '           Text
+' '           Text.Whitespace
 '|'           Operator
-' '           Text
+' '           Text.Whitespace
 'UserName'    Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'both'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Object'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '&'           Name
-' '           Text
+' '           Text.Whitespace
 'Product'     Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '<%'          Operator
-' '           Text
+' '           Text.Whitespace
 '=:='         Operator
-' '           Text
+' '           Text.Whitespace
 '<:<'         Operator
-' '           Text
+' '           Text.Whitespace
 '<%<'         Operator
-' '           Text
+' '           Text.Whitespace
 '>:'          Operator
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '['           Punctuation
 'X'           Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '=>>'         Operator
-' '           Text
+' '           Text.Whitespace
 'Map'         Name.Class
 '['           Punctuation
 'Y'           Name.Class
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Class
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 7e87d7772609761d2d02a76d42ba150f7f678db8..9005f44409a67e233ece7b348086a3cc5b35d575 100644 (file)
@@ -1,93 +1,93 @@
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Function
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Unit'        Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 '.2'          Literal.Number.Float
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'x'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'new'         Keyword
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 "' '"         Literal.String.Char
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 '""'          Literal.String
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 1f892d6c8fd26cd4b6128da2ce96de0bfc741afb..f5097f15f5ceb20ce482c2efe633ad8429ac246d 100644 (file)
@@ -1,31 +1,31 @@
 ''            Text.Whitespace
 '-@ '         Punctuation
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'city'        Name
 ':'           Punctuation
 'String'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"Tampa"'     Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ''            Text.Whitespace
 '-'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'name'        Name
 ':'           Punctuation
 'String'      Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"Hiram"'     Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 ''            Text.Whitespace
 '%html'       Name.Tag
 
 '    '        Text.Whitespace
 '-'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '<-'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'to'          Name
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '      '      Text.Whitespace
 '%li'         Name.Tag
index 93f59e290940a4c8a6bea89c5809ba735f44428c..c0d1ae60134c577b7c9af469d48071f44597d863 100644 (file)
 ';;; installed-scm-file' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; This program is free software; you can redistribute it and/or modify' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; it under the terms of the GNU General Public License as published by' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; the Free Software Foundation; either version 2, or (at your option)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; any later version.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; This program is distributed in the hope that it will be useful,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; but WITHOUT ANY WARRANTY; without even the implied warranty of' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; GNU General Public License for more details.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; You should have received a copy of the GNU General Public License' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; along with this software; see the file COPYING.  If not, write to' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; Boston, MA 02111-1307 USA' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; As a special exception, the Free Software Foundation gives permission' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; for additional uses of the text contained in its release of GUILE.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; The exception is that, if you link the GUILE library with other files' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; to produce an executable, this does not by itself cause the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; resulting executable to be covered by the GNU General Public License.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; Your use of that executable is in no way restricted on account of' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; linking the GUILE library code into it.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; This exception does not however invalidate any other reasons why' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; the executable file might be covered by the GNU General Public License.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; This exception applies only to the code released by the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; Free Software Foundation under the name GUILE.  If you copy' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; code from other Free Software Foundation releases into a copy of' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; GUILE, as the General Public License permits, the exception does' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; not apply to the code that you add in this way.  To avoid misleading' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; anyone as to the status of such modified files, you must delete' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; this exception notice from them.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; If you write modifications of your own for GUILE, it is your choice' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; whether to permit this exception to apply to your modifications.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;; If you do not wish that, delete this exception notice.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;;'        Comment.Single
-'\n\x0c\n\n'  Text
+'\n\x0c\n\n'  Text.Whitespace
 
 ';;; Commentary:' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; This file is the first thing loaded into Guile.  It adds many mundane' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; definitions and a few that are interesting.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; The module system (hence the hierarchical namespace) are defined in this' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; file.'   Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Code:'   Comment.Single
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Deprecation}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ";; We don't have macros here, but we do want to define" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; `begin-deprecated' early." Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'begin-deprecated' Name.Variable
-'\n  '        Text
+'define'      Keyword
+' '           Text.Whitespace
+'begin-deprecated' Keyword
+'\n  '        Text.Whitespace
 '('           Punctuation
 'procedure->memoizing-macro' Name.Function
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'exp '        Name.Builtin
+'exp'         Name.Builtin
+' '           Text.Whitespace
 'env'         Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'include-deprecated-features' Name.Function
+'include-deprecated-features' Name.Builtin
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '`'           Operator
 '('           Punctuation
-'begin '      Keyword
+'begin'       Keyword
+' '           Text.Whitespace
 ',@'          Operator
 '('           Punctuation
-'cdr '        Name.Builtin
-'exp'         Name.Variable
+'cdr'         Name.Builtin
+' '           Text.Whitespace
+'exp'         Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '`'           Operator
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Features}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'provide'     Name.Function
-' '           Text
+'provide'     Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'memq '       Name.Builtin
+'memq'        Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*features*'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'set! '       Keyword
+'set!'        Keyword
+' '           Text.Whitespace
 '*features*'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cons '       Name.Builtin
+'cons'        Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*features*'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Return #t iff FEATURE is available to this Guile interpreter.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; In SLIB, provided? also checks to see if the module is available.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;; We should do that too, but don't." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'provided?'   Name.Function
-' '           Text
+'provided?'   Name.Builtin
+' '           Text.Whitespace
 'feature'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'memq '       Name.Builtin
+'memq'        Name.Builtin
+' '           Text.Whitespace
 'feature'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '*features*'  Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'begin-deprecated' Name.Function
-'\n '         Text
+'begin-deprecated' Keyword
+'\n '         Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'feature?'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'issue-deprecation-warning' Name.Function
-'\n    '      Text
-'"`feature?\' is deprecated.  Use `provided?\' instead."' Literal.String
+'issue-deprecation-warning' Name.Builtin
+'\n    '      Text.Whitespace
+'"'           Literal.String
+"`feature?' is deprecated.  Use `provided?' instead." Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'provided?'   Name.Function
-' '           Text
+'provided?'   Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; let format alias simple-format until the more complete version is loaded' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'format'      Name.Variable
-' '           Text
-'simple-format' Name.Variable
+'define'      Keyword
+' '           Text.Whitespace
+'format'      Name.Builtin
+' '           Text.Whitespace
+'simple-format' Name.Builtin
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {R4RS compliance}' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'primitive-load-path' Name.Function
-' '           Text
-'"ice-9/r4rs.scm"' Literal.String
+'primitive-load-path' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'ice-9/r4rs.scm' Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Simple Debugging Tools}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';; peek takes any number of arguments, writes them to the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; current ouput port, and returns the last argument.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; It is handy to wrap around an expression to look at' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; a value each time is evaluated, e.g.:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;\t(+ 10 (troublesome-fn))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;\t=> (+ 10 (pk 'troublesome-fn-returned (troublesome-fn)))" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'peek'        Name.Function
-' '           Text
+'peek'        Name.Builtin
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'stuff'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'newline'     Name.Function
+'newline'     Name.Builtin
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'";;; "'      Literal.String
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+';;; '        Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'write '      Name.Builtin
+'write'       Name.Builtin
+' '           Text.Whitespace
 'stuff'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'newline'     Name.Function
+'newline'     Name.Builtin
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'last-pair'   Name.Function
-' '           Text
+'last-pair'   Name.Builtin
+' '           Text.Whitespace
 'stuff'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'pk'          Name.Variable
-' '           Text
-'peek'        Name.Variable
+'define'      Keyword
+' '           Text.Whitespace
+'pk'          Name.Builtin
+' '           Text.Whitespace
+'peek'        Name.Builtin
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'warn'        Name.Function
-' '           Text
+'warn'        Name.Builtin
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'stuff'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'with-output-to-port' Name.Function
-' '           Text
+'with-output-to-port' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'current-error-port' Name.Function
+'current-error-port' Name.Builtin
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'newline'     Name.Function
+'newline'     Name.Builtin
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'";;; WARNING "' Literal.String
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+';;; WARNING ' Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 'stuff'       Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'newline'     Name.Function
+'newline'     Name.Builtin
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'last-pair'   Name.Function
-' '           Text
+'last-pair'   Name.Builtin
+' '           Text.Whitespace
 'stuff'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Trivial Functions}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'identity'    Name.Function
-' '           Text
+'identity'    Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'1'           Literal.Number.Integer
-'+'           Name.Variable
-' '           Text
+'1+'          Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'1'           Literal.Number.Integer
-'-'           Name.Variable
-' '           Text
+'1-'          Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and=>'       Name.Function
-' '           Text
+'and=>'       Name.Builtin
+' '           Text.Whitespace
 'value'       Name.Variable
-' '           Text
-'procedure'   Name.Variable
+' '           Text.Whitespace
+'procedure'   Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'procedure'   Name.Function
-' '           Text
+'procedure'   Name.Builtin
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'make-hash-table' Name.Function
-' '           Text
+'make-hash-table' Name.Builtin
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-vector ' Name.Builtin
+'make-vector' Name.Builtin
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'begin-deprecated' Name.Function
-'\n '         Text
+'begin-deprecated' Keyword
+'\n '         Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'issue-deprecation-warning' Name.Function
-' '           Text
-'"`id\' is deprecated.  Use `identity\' instead."' Literal.String
+'issue-deprecation-warning' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+"`id' is deprecated.  Use `identity' instead." Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'identity'    Name.Function
-' '           Text
+'identity'    Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'-1'          Literal.Number.Integer
-'+'           Name.Variable
-' '           Text
+'-1+'         Name.Function
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'issue-deprecation-warning' Name.Function
-' '           Text
-'"`-1+\' is deprecated.  Use `1-\' instead."' Literal.String
+'issue-deprecation-warning' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+"`-1+' is deprecated.  Use `1-' instead." Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'1'           Literal.Number.Integer
-'-'           Name.Variable
-' '           Text
+'1-'          Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'return-it'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'issue-deprecation-warning' Name.Function
-' '           Text
-'"`return-it\' is deprecated.  Use `noop\' instead."' Literal.String
+'issue-deprecation-warning' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+"`return-it' is deprecated.  Use `noop' instead." Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'noop'        Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'noop'        Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; apply-to-args is functionally redundant with apply and, worse,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; is less general than apply since it only takes two arguments.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; On the other hand, apply-to-args is a syntacticly convenient way to' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; perform binding in many circumstances when the "let" family of' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;; of forms don't cut it.  E.g.:" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\t(apply-to-args (return-3d-mouse-coords)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\t  (lambda (x y z)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\t\t...))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'apply-to-args' Name.Function
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fn'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
+'apply'       Name.Builtin
+' '           Text.Whitespace
 'fn'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 ';;; {Integer Math}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'ipow-by-squaring' Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'acc'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'proc'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'cond '       Keyword
+'cond'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'zero? '      Name.Builtin
+'zero?'       Name.Builtin
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'acc'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'= '          Name.Builtin
+'='           Name.Builtin
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'acc'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'else '       Keyword
+'else'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'ipow-by-squaring' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
-'quotient '   Name.Builtin
+'quotient'    Name.Builtin
+' '           Text.Whitespace
 'k'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'even? '      Name.Builtin
+'even?'       Name.Builtin
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'acc'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'acc'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 'proc'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'begin-deprecated' Name.Function
-'\n '         Text
+'begin-deprecated' Keyword
+'\n '         Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'string-character-length' Name.Function
-' '           Text
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'issue-deprecation-warning' Name.Function
-' '           Text
-'"`string-character-length\' is deprecated.  Use `string-length\' instead."' Literal.String
+'issue-deprecation-warning' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+"`string-character-length' is deprecated.  Use `string-length' instead." Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n '         Text
+'\n '         Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'flags'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'issue-deprecation-warning' Name.Function
-' '           Text
-'"`flags\' is deprecated.  Use `logior\' instead."' Literal.String
+'issue-deprecation-warning' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+"`flags' is deprecated.  Use `logior' instead." Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'logior'      Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'logior'      Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Symbol Properties}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-property' Name.Function
-' '           Text
+'symbol-property' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pair'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'assoc '      Name.Builtin
+'assoc'       Name.Builtin
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-pref' Name.Function
-' '           Text
+'symbol-pref' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'pair'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'pair'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-symbol-property!' Name.Function
-' '           Text
+'set-symbol-property!' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pair'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'assoc '      Name.Builtin
+'assoc'       Name.Builtin
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-pref' Name.Function
-' '           Text
+'symbol-pref' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'pair'        Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'set-cdr! '   Name.Builtin
+'set-cdr!'    Name.Builtin
+' '           Text.Whitespace
 'pair'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'symbol-pset!' Name.Function
-' '           Text
+'symbol-pset!' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'acons'       Name.Function
-' '           Text
+'acons'       Name.Builtin
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-pref' Name.Function
-' '           Text
+'symbol-pref' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-property-remove!' Name.Function
-' '           Text
+'symbol-property-remove!' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pair'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'assoc '      Name.Builtin
+'assoc'       Name.Builtin
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-pref' Name.Function
-' '           Text
+'symbol-pref' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'pair'        Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'symbol-pset!' Name.Function
-' '           Text
+'symbol-pset!' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'delq!'       Name.Function
-' '           Text
+'delq!'       Name.Builtin
+' '           Text.Whitespace
 'pair'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-pref' Name.Function
-' '           Text
+'symbol-pref' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; {General Properties}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; This is a more modern interface to properties.  It will replace all' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; other property-like things eventually.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'make-object-property' Name.Function
+'make-object-property' Name.Builtin
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'prop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'primitive-make-property' Name.Function
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'make-procedure-with-setter' Name.Function
-'\n     '     Text
+'make-procedure-with-setter' Name.Builtin
+'\n     '     Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'primitive-property-ref' Name.Function
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'primitive-property-set!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'prop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 ';;; {Arrays}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'provided?'   Name.Function
-' '           Text
+'provided?'   Name.Builtin
+' '           Text.Whitespace
 "'array"      Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'primitive-load-path' Name.Function
-' '           Text
-'"ice-9/arrays.scm"' Literal.String
+'primitive-load-path' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'ice-9/arrays.scm' Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Keywords}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol->keyword' Name.Function
-' '           Text
-'symbol'      Name.Variable
+'symbol->keyword' Name.Builtin
+' '           Text.Whitespace
+'symbol'      Name.Builtin
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'make-keyword-from-dash-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-append' Name.Function
-' '           Text
+'symbol-append' Name.Builtin
+' '           Text.Whitespace
 "'-"          Literal.String.Symbol
-' '           Text
-'symbol'      Name.Variable
+' '           Text.Whitespace
+'symbol'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'keyword->symbol' Name.Function
-' '           Text
+'keyword->symbol' Name.Builtin
+' '           Text.Whitespace
 'kw'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'sym'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol->string ' Name.Builtin
+'symbol->string' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 'keyword-dash-symbol' Name.Function
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'string->symbol ' Name.Builtin
+'string->symbol' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'substring '  Name.Builtin
+'substring'   Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'sym'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'kw-arg-ref'  Name.Function
-' '           Text
+'kw-arg-ref'  Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rem'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'member '     Name.Builtin
+'member'      Name.Builtin
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'rem'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'pair? '      Name.Builtin
+'pair?'       Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'rem'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cadr '       Name.Builtin
+'cadr'        Name.Builtin
+' '           Text.Whitespace
 'rem'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 ';;; {Structs}' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'struct-layout' Name.Function
-' '           Text
+'struct-layout' Name.Builtin
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'struct-ref'  Name.Function
-' '           Text
+'struct-ref'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'struct-vtable' Name.Function
-' '           Text
+'struct-vtable' Name.Builtin
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'vtable-index-layout' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 ';;; Environments' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'the-environment' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'procedure->syntax' Name.Function
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'e'           Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 'e'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'the-root-environment' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'the-environment' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'environment-module' Name.Function
-' '           Text
+' '           Text.Whitespace
 'env'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'closure'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'pair? '      Name.Builtin
+'pair?'       Name.Builtin
+' '           Text.Whitespace
 'env'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'last-pair'   Name.Function
-' '           Text
+'last-pair'   Name.Builtin
+' '           Text.Whitespace
 'env'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'closure'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'procedure-property' Name.Function
-' '           Text
+'procedure-property' Name.Builtin
+' '           Text.Whitespace
 'closure'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'module"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Records}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; Printing records: by default, records are printed as' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   #<type-name field1: val1 field2: val2 ...>' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; You can change that by giving a custom printing function to' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; MAKE-RECORD-TYPE (after the list of field symbols).  This function' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; will be called like' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;   (<printer> object port)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; It should print OBJECT to PORT.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'inherit-print-state' Name.Function
-' '           Text
+'inherit-print-state' Name.Builtin
+' '           Text.Whitespace
 'old-port'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'new-port'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'get-print-state' Name.Function
-' '           Text
+'get-print-state' Name.Builtin
+' '           Text.Whitespace
 'old-port'    Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'port-with-print-state' Name.Function
-' '           Text
+'port-with-print-state' Name.Builtin
+' '           Text.Whitespace
 'new-port'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'get-print-state' Name.Function
-' '           Text
+'get-print-state' Name.Builtin
+' '           Text.Whitespace
 'old-port'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'new-port'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; 0: type-name, 1: fields' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'record-type-vtable' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'make-vtable-vtable' Name.Function
-' '           Text
-'"prpr"'      Literal.String
-' '           Text
+' '           Text.Whitespace
+'"'           Literal.String
+'prpr'        Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 's'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
-'cond '       Keyword
+'cond'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'record-type-vtable' Name.Variable
 ')'           Punctuation
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'"#<record-type-vtable>"' Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'#<record-type-vtable>' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t      ' Text
+'\n\t\t\t      ' Text.Whitespace
 '('           Punctuation
-'else'        Name.Function
-'\n\t\t\t       ' Text
+'else'        Keyword
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'"#<record-type "' Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'#<record-type ' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-name' Name.Function
-' '           Text
+'record-type-name' Name.Builtin
+' '           Text.Whitespace
 's'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'">"'         Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'>'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-type?' Name.Function
-' '           Text
+'record-type?' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'struct?'     Name.Function
-' '           Text
+'struct?'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 'record-type-vtable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'struct-vtable' Name.Function
-' '           Text
+'struct-vtable' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'make-record-type' Name.Function
-' '           Text
+'make-record-type' Name.Builtin
+' '           Text.Whitespace
 'type-name'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fields'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'opt'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'printer-fn'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'pair? '      Name.Builtin
+'pair?'       Name.Builtin
+' '           Text.Whitespace
 'opt'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opt'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'struct'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'make-struct' Name.Function
-' '           Text
+' '           Text.Whitespace
 'record-type-vtable' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'make-struct-layout' Name.Function
-'\n\t\t\t\t'  Text
+'make-struct-layout' Name.Builtin
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'string-append' Name.Variable
-'\n\t\t\t\t       ' Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'string-append' Name.Builtin
+'\n\t\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
+'map'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Function
 ')'           Punctuation
-' '           Text
-'"pw"'        Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'pw'          Literal.String
+'"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'fields'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 'printer-fn'  Name.Variable
-'\n\t\t\t\t   ' Text
+'\n\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 's'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t     ' Text
+'\n\t\t\t\t     ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'"#<"'        Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'#<'          Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t     ' Text
+'\n\t\t\t\t     ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 'type-name'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t     ' Text
+'\n\t\t\t\t     ' Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'fields'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'fields'      Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t\t' Text
+'\n\t\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
 'off'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t       ' Text
+'\n\t\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'cond'        Name.Function
-'\n\t\t\t\t\t' Text
+'cond'        Keyword
+'\n\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'fields'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t ' Text
+'\n\t\t\t\t\t ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'" "'         Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+' '           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t ' Text
+'\n\t\t\t\t\t ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'fields'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t ' Text
+'\n\t\t\t\t\t ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'": "'        Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+': '          Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t ' Text
+'\n\t\t\t\t\t ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'struct-ref'  Name.Function
-' '           Text
+'struct-ref'  Name.Builtin
+' '           Text.Whitespace
 's'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'off'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t ' Text
+'\n\t\t\t\t\t ' Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'fields'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'off'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t     ' Text
+'\n\t\t\t\t     ' Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'">"'         Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'>'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'p'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 'type-name'   Name.Variable
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'copy-tree'   Name.Function
-' '           Text
+'copy-tree'   Name.Builtin
+' '           Text.Whitespace
 'fields'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Temporary solution: Associate a name to the record type descriptor' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; so that the object system can create a wrapper class for it.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'set-struct-vtable-name!' Name.Function
-' '           Text
+'set-struct-vtable-name!' Name.Builtin
+' '           Text.Whitespace
 'struct'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol? '    Name.Builtin
+'symbol?'     Name.Builtin
+' '           Text.Whitespace
 'type-name'   Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 'type-name'   Name.Variable
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 '('           Punctuation
-'string->symbol ' Name.Builtin
+'string->symbol' Name.Builtin
+' '           Text.Whitespace
 'type-name'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'struct'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-name' Name.Function
-' '           Text
+'record-type-name' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-type?' Name.Function
-' '           Text
+'record-type?' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'struct-ref'  Name.Function
-' '           Text
+'struct-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'vtable-offset-user' Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
 "'not-a-record-type" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-fields' Name.Function
-' '           Text
+'record-type-fields' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-type?' Name.Function
-' '           Text
+'record-type?' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'struct-ref'  Name.Function
-' '           Text
+'struct-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'vtable-offset-user' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
 "'not-a-record-type" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-constructor' Name.Function
-' '           Text
+'record-constructor' Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'opt'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'field-names' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'pair? '      Name.Builtin
+'pair?'       Name.Builtin
+' '           Text.Whitespace
 'opt'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opt'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-fields' Name.Function
-' '           Text
+'record-type-fields' Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'local-eval'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 ','           Operator
 'field-names' Name.Variable
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
 'make-struct' Name.Function
-' '           Text
+' '           Text.Whitespace
 "',rtd"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ',@'          Operator
 '('           Punctuation
-'map '        Name.Builtin
+'map'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Function
 ')'           Punctuation
-'\n\t\t\t\t\t\t ' Text
+'\n\t\t\t\t\t\t ' Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'memq '       Name.Builtin
+'memq'        Name.Builtin
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'field-names' Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t\t     ' Text
+'\n\t\t\t\t\t\t     ' Text.Whitespace
 'f'           Name.Variable
-'\n\t\t\t\t\t\t     ' Text
+'\n\t\t\t\t\t\t     ' Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t       ' Text
+'\n\t\t\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'record-type-fields' Name.Function
-' '           Text
+'record-type-fields' Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'the-root-environment' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-predicate' Name.Function
-' '           Text
+'record-predicate' Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'struct?'     Name.Function
-' '           Text
+'struct?'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'struct-vtable' Name.Function
-' '           Text
+'struct-vtable' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'field-name'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pos'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'list-index'  Name.Function
-' '           Text
+'list-index'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-fields' Name.Function
-' '           Text
+'record-type-fields' Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'field-name'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
 "'no-such-field" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'field-name'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'local-eval'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Function
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 "',rtd"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-descriptor' Name.Function
-' '           Text
+'record-type-descriptor' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
-'struct-ref'  Name.Function
-' '           Text
+'struct-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'pos'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'the-root-environment' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'field-name'  Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'pos'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'list-index'  Name.Function
-' '           Text
+'list-index'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-fields' Name.Function
-' '           Text
+'record-type-fields' Name.Builtin
+' '           Text.Whitespace
 'rtd'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'field-name'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
 "'no-such-field" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'field-name'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'local-eval'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '`'           Operator
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'obj'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 "',rtd"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-descriptor' Name.Function
-' '           Text
+'record-type-descriptor' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
-'struct-set!' Name.Function
-' '           Text
+'struct-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ','           Operator
 'pos'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 'the-root-environment' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record?'     Name.Function
-' '           Text
+'record?'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'struct?'     Name.Function
-' '           Text
+'struct?'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'record-type?' Name.Function
-' '           Text
+'record-type?' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'struct-vtable' Name.Function
-' '           Text
+'struct-vtable' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'record-type-descriptor' Name.Function
-' '           Text
+'record-type-descriptor' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'struct?'     Name.Function
-' '           Text
+'struct?'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'struct-vtable' Name.Function
-' '           Text
+'struct-vtable' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
 "'not-a-record" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'provide'     Name.Function
-' '           Text
+'provide'     Name.Builtin
+' '           Text.Whitespace
 "'record"     Literal.String.Symbol
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Booleans}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'->bool'      Name.Function
-' '           Text
+'->bool'      Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Symbols}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-append' Name.Function
-' '           Text
+'symbol-append' Name.Builtin
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'string->symbol ' Name.Builtin
+'string->symbol' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'string-append' Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'string-append' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
-'symbol->string' Name.Variable
-' '           Text
+'map'         Name.Builtin
+' '           Text.Whitespace
+'symbol->string' Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'list->symbol' Name.Function
-' '           Text
+'list->symbol' Name.Builtin
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'string->symbol ' Name.Builtin
+'string->symbol' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'list->string' Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'list->string' Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol'      Name.Function
-' '           Text
+'symbol'      Name.Builtin
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'string->symbol ' Name.Builtin
+'string->symbol' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'string'      Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'string'      Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Lists}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'list-index'  Name.Function
-' '           Text
+'list-index'  Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'n'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'l'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'k'           Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 'n'           Name.Variable
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'make-list'   Name.Function
-' '           Text
+'make-list'   Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'init'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'pair? '      Name.Builtin
+'pair?'       Name.Builtin
+' '           Text.Whitespace
 'init'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'set! '       Keyword
+'set!'        Keyword
+' '           Text.Whitespace
 'init'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'init'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'answer'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'n'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'n'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'<= '         Name.Builtin
+'<='          Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'answer'      Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cons '       Name.Builtin
+'cons'        Name.Builtin
+' '           Text.Whitespace
 'init'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {and-map and or-map}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (and-map fn lst) is like (and (fn (car lst)) (fn (cadr lst)) (fn...) ...)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (or-map fn lst) is like (or (fn (car lst)) (fn (cadr lst)) (fn...) ...)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; and-map f l' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Apply f to successive elements of l until exhaustion or f returns #f.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; If returning early, return #f.  Otherwise, return the last value returned' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; by f.  If f has never been called because l is empty, return #t.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and-map'     Name.Function
-' '           Text
+'and-map'     Name.Builtin
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'result'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'l'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'result'      Name.Variable
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 'result'      Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; or-map f l' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Apply f to successive elements of l until exhaustion or while f returns #f.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; If returning early, return the return value of f.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'or-map'      Name.Function
-' '           Text
+'or-map'      Name.Builtin
+' '           Text.Whitespace
 'f'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'result'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'l'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'lst'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 'result'      Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'f'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'l'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'provided?'   Name.Function
-' '           Text
+'provided?'   Name.Builtin
+' '           Text.Whitespace
 "'posix"      Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'primitive-load-path' Name.Function
-' '           Text
-'"ice-9/posix.scm"' Literal.String
+'primitive-load-path' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'ice-9/posix.scm' Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'provided?'   Name.Function
-' '           Text
+'provided?'   Name.Builtin
+' '           Text.Whitespace
 "'socket"     Literal.String.Symbol
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'primitive-load-path' Name.Function
-' '           Text
-'"ice-9/networking.scm"' Literal.String
+'primitive-load-path' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'ice-9/networking.scm' Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'file-exists?' Name.Variable
-'\n  '        Text
+'define'      Keyword
+' '           Text.Whitespace
+'file-exists?' Name.Builtin
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'provided?'   Name.Function
-' '           Text
+'provided?'   Name.Builtin
+' '           Text.Whitespace
 "'posix"      Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'str'         Name.Function
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'->bool'      Name.Function
-' '           Text
+'->bool'      Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'false-if-exception' Name.Function
-' '           Text
+'false-if-exception' Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'stat'        Name.Function
-' '           Text
+'stat'        Name.Builtin
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'str'         Name.Function
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'port'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'catch'       Name.Function
-' '           Text
+'catch'       Name.Builtin
+' '           Text.Whitespace
 "'system-error" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'open-file'   Name.Function
-' '           Text
+'open-file'   Name.Builtin
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'OPEN_READ'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'begin '      Keyword
+'begin'       Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'close-port'  Name.Function
-' '           Text
+'close-port'  Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'file-is-directory?' Name.Variable
-'\n  '        Text
+'define'      Keyword
+' '           Text.Whitespace
+'file-is-directory?' Name.Builtin
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'provided?'   Name.Function
-' '           Text
+'provided?'   Name.Builtin
+' '           Text.Whitespace
 "'posix"      Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'str'         Name.Function
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'stat:type'   Name.Function
-' '           Text
+'stat:type'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'stat'        Name.Function
-' '           Text
+'stat'        Name.Builtin
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'directory"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'str'         Name.Function
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'port'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'catch'       Name.Function
-' '           Text
+'catch'       Name.Builtin
+' '           Text.Whitespace
 "'system-error" Literal.String.Symbol
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'open-file'   Name.Function
-' '           Text
+'open-file'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string-append ' Name.Builtin
+'string-append' Name.Builtin
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
-'"/."'        Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'/.'          Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n\t\t\t\t\t\t ' Text
+'\n\t\t\t\t\t\t ' Text.Whitespace
 'OPEN_READ'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'begin '      Keyword
+'begin'       Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'close-port'  Name.Function
-' '           Text
+'close-port'  Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
-'\n\t      '  Text
+'\n\t      '  Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'has-suffix?' Name.Function
-' '           Text
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'suffix'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'sufl'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'suffix'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'sl'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'str'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'> '          Name.Builtin
+'>'           Name.Builtin
+' '           Text.Whitespace
 'sl'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sufl'        Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'string=? '   Name.Builtin
+'string=?'    Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'substring '  Name.Builtin
+'substring'   Name.Builtin
+' '           Text.Whitespace
 'str'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 'sl'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'sufl'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'sl'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'suffix'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'system-error-errno' Name.Function
-' '           Text
+'system-error-errno' Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'system-error" Literal.String.Symbol
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'list-ref '   Name.Builtin
+'list-ref'    Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Error Handling}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'save-stack'  Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'scm-error'   Name.Function
-' '           Text
+'scm-error'   Name.Builtin
+' '           Text.Whitespace
 "'misc-error" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
-'"?"'         Literal.String
-' '           Text
+' '           Text.Whitespace
+'"'           Literal.String
+'?'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'msg'         Name.Function
-' '           Text
-'"~A"'        Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'~A'          Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
 'rest'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'rest'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-append ' Name.Builtin
+'string-append' Name.Builtin
+' '           Text.Whitespace
 'msg'         Name.Variable
-' '           Text
-'" ~S"'       Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+' ~S'         Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'rest'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'scm-error'   Name.Function
-' '           Text
+'scm-error'   Name.Builtin
+' '           Text.Whitespace
 "'misc-error" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 'msg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; bad-throw is the hook that is called upon a throw to a an unhandled' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; key (unless the throw has four arguments, in which case' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";; it's usually interpreted as an error throw.)" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; If the key has a default handler (a throw-handler-default property),' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; it is applied to the throw.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'bad-throw'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'default'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol-property' Name.Function
-' '           Text
+'symbol-property' Name.Builtin
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'throw-handler-default" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'default'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
+'apply'       Name.Builtin
+' '           Text.Whitespace
 'default'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'error'       Name.Variable
-' '           Text
-'"unhandled-exception:"' Literal.String
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'unhandled-exception:' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:sec'      Name.Function
-' '           Text
+'tm:sec'      Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:min'      Name.Function
-' '           Text
+'tm:min'      Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:hour'     Name.Function
-' '           Text
+'tm:hour'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:mday'     Name.Function
-' '           Text
+'tm:mday'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:mon'      Name.Function
-' '           Text
+'tm:mon'      Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:year'     Name.Function
-' '           Text
+'tm:year'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:wday'     Name.Function
-' '           Text
+'tm:wday'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:yday'     Name.Function
-' '           Text
+'tm:yday'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:isdst'    Name.Function
-' '           Text
+'tm:isdst'    Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:gmtoff'   Name.Function
-' '           Text
+'tm:gmtoff'   Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tm:zone'     Name.Function
-' '           Text
+'tm:zone'     Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:sec'  Name.Function
-' '           Text
+'set-tm:sec'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:min'  Name.Function
-' '           Text
+'set-tm:min'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:hour' Name.Function
-' '           Text
+'set-tm:hour' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:mday' Name.Function
-' '           Text
+'set-tm:mday' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:mon'  Name.Function
-' '           Text
+'set-tm:mon'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:year' Name.Function
-' '           Text
+'set-tm:year' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:wday' Name.Function
-' '           Text
+'set-tm:wday' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:yday' Name.Function
-' '           Text
+'set-tm:yday' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:isdst' Name.Function
-' '           Text
+'set-tm:isdst' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:gmtoff' Name.Function
-' '           Text
+'set-tm:gmtoff' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set-tm:zone' Name.Function
-' '           Text
+'set-tm:zone' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-set! ' Name.Builtin
+'vector-set!' Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tms:clock'   Name.Function
-' '           Text
+'tms:clock'   Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tms:utime'   Name.Function
-' '           Text
+'tms:utime'   Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tms:stime'   Name.Function
-' '           Text
+'tms:stime'   Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tms:cutime'  Name.Function
-' '           Text
+'tms:cutime'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tms:cstime'  Name.Function
-' '           Text
+'tms:cstime'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obj'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'file-position' Name.Variable
-' '           Text
-'ftell'       Name.Variable
+'define'      Keyword
+' '           Text.Whitespace
+'file-position' Name.Builtin
+' '           Text.Whitespace
+'ftell'       Name.Builtin
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'file-set-position' Name.Function
-' '           Text
+'file-set-position' Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'whence'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'whence'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 'whence'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'SEEK_SET'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'whence'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'seek'        Name.Function
-' '           Text
+'seek'        Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'offset'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'whence'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'move->fdes'  Name.Function
-' '           Text
+'move->fdes'  Name.Builtin
+' '           Text.Whitespace
 'fd/port'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fd'          Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'cond '       Keyword
+'cond'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'integer? '   Name.Builtin
+'integer?'    Name.Builtin
+' '           Text.Whitespace
 'fd/port'     Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'dup->fdes'   Name.Function
-' '           Text
+'dup->fdes'   Name.Builtin
+' '           Text.Whitespace
 'fd/port'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fd'          Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'close'       Name.Function
-' '           Text
+'close'       Name.Builtin
+' '           Text.Whitespace
 'fd/port'     Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 'fd'          Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'else'        Name.Function
-'\n\t '       Text
+'else'        Keyword
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'primitive-move->fdes' Name.Function
-' '           Text
+'primitive-move->fdes' Name.Builtin
+' '           Text.Whitespace
 'fd/port'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'fd'          Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'set-port-revealed!' Name.Function
-' '           Text
+'set-port-revealed!' Name.Builtin
+' '           Text.Whitespace
 'fd/port'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 'fd/port'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'release-port-handle' Name.Function
-' '           Text
+'release-port-handle' Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'revealed'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'port-revealed' Name.Function
-' '           Text
+'port-revealed' Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'> '          Name.Builtin
+'>'           Name.Builtin
+' '           Text.Whitespace
 'revealed'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'set-port-revealed!' Name.Function
-' '           Text
+'set-port-revealed!' Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 'revealed'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'dup->port'   Name.Function
-' '           Text
+'dup->port'   Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'mode'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'port'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'fdopen'      Name.Function
-' '           Text
+'fdopen'      Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'dup->fdes'   Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'dup->fdes'   Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 'mode'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'pair? '      Name.Builtin
+'pair?'       Name.Builtin
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'set-port-revealed!' Name.Function
-' '           Text
+'set-port-revealed!' Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'dup->inport' Name.Function
-' '           Text
+'dup->inport' Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'dup->port'   Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'dup->port'   Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
-'"r"'         Literal.String
-' '           Text
+' '           Text.Whitespace
+'"'           Literal.String
+'r'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'dup->outport' Name.Function
-' '           Text
+'dup->outport' Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'dup->port'   Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'dup->port'   Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
-'"w"'         Literal.String
-' '           Text
+' '           Text.Whitespace
+'"'           Literal.String
+'w'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'dup'         Name.Function
-' '           Text
+'dup'         Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'integer? '   Name.Builtin
+'integer?'    Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'dup->fdes'   Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'dup->fdes'   Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'dup->port'   Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'dup->port'   Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'port-mode'   Name.Function
-' '           Text
+'port-mode'   Name.Builtin
+' '           Text.Whitespace
 'port/fd'     Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'maybe-fd'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'duplicate-port' Name.Function
-' '           Text
+'duplicate-port' Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'modes'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'dup->port'   Name.Function
-' '           Text
+'dup->port'   Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'modes'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'fdes->inport' Name.Function
-' '           Text
+'fdes->inport' Name.Builtin
+' '           Text.Whitespace
 'fdes'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rest-ports'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'fdes->ports' Name.Function
-' '           Text
+'fdes->ports' Name.Builtin
+' '           Text.Whitespace
 'fdes'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'cond '       Keyword
+'cond'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'result'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'fdopen'      Name.Function
-' '           Text
+'fdopen'      Name.Builtin
+' '           Text.Whitespace
 'fdes'        Name.Variable
-' '           Text
-'"r"'         Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'r'           Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
-'set-port-revealed!' Name.Function
-' '           Text
+'set-port-revealed!' Name.Builtin
+' '           Text.Whitespace
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 'result'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'input-port? ' Name.Builtin
+'input-port?' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'set-port-revealed!' Name.Function
-' '           Text
+'set-port-revealed!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'port-revealed' Name.Function
-' '           Text
+'port-revealed' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'else'        Name.Function
-'\n\t   '     Text
+'else'        Keyword
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'fdes->outport' Name.Function
-' '           Text
+'fdes->outport' Name.Builtin
+' '           Text.Whitespace
 'fdes'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rest-ports'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'fdes->ports' Name.Function
-' '           Text
+'fdes->ports' Name.Builtin
+' '           Text.Whitespace
 'fdes'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'cond '       Keyword
+'cond'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'result'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'fdopen'      Name.Function
-' '           Text
+'fdopen'      Name.Builtin
+' '           Text.Whitespace
 'fdes'        Name.Variable
-' '           Text
-'"w"'         Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'w'           Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
-'set-port-revealed!' Name.Function
-' '           Text
+'set-port-revealed!' Name.Builtin
+' '           Text.Whitespace
 'result'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 'result'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'output-port? ' Name.Builtin
+'output-port?' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'set-port-revealed!' Name.Function
-' '           Text
+'set-port-revealed!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
-'\n\t\t\t       ' Text
+'\n\t\t\t       ' Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'port-revealed' Name.Function
-' '           Text
+'port-revealed' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'else'        Name.Function
-'\n\t   '     Text
+'else'        Keyword
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'rest-ports'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'port->fdes'  Name.Function
-' '           Text
+'port->fdes'  Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'set-port-revealed!' Name.Function
-' '           Text
+'set-port-revealed!' Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'port-revealed' Name.Function
-' '           Text
+'port-revealed' Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'fileno'      Name.Function
-' '           Text
+'fileno'      Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'setenv'      Name.Function
-' '           Text
+'setenv'      Name.Builtin
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'value'       Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'putenv'      Name.Function
-' '           Text
+'putenv'      Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string-append ' Name.Builtin
+'string-append' Name.Builtin
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
-'"="'         Literal.String
-' '           Text
+' '           Text.Whitespace
+'"'           Literal.String
+'='           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'putenv'      Name.Function
-' '           Text
+'putenv'      Name.Builtin
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Load Paths}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Here for backward compatability' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'scheme-file-suffix' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
-'".scm"'      Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'.scm'        Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'in-vicinity' Name.Function
-' '           Text
+'in-vicinity' Name.Builtin
+' '           Text.Whitespace
 'vicinity'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'tail'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'len'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'vicinity'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'zero? '      Name.Builtin
+'zero?'       Name.Builtin
+' '           Text.Whitespace
 'len'         Name.Variable
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '#f'          Name.Constant
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'string-ref ' Name.Builtin
+'string-ref'  Name.Builtin
+' '           Text.Whitespace
 'vicinity'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 'len'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'string-append ' Name.Builtin
+'string-append' Name.Builtin
+' '           Text.Whitespace
 'vicinity'    Name.Variable
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 'tail'        Name.Variable
 ')'           Punctuation
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 'tail'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#\\/'        Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t       ' Text
-'""'          Literal.String
-'\n\t\t       ' Text
-'"/"'         Literal.String
+'\n\t\t       ' Text.Whitespace
+'"'           Literal.String
+'"'           Literal.String
+'\n\t\t       ' Text.Whitespace
+'"'           Literal.String
+'/'           Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 'file'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Help for scm_shell}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; The argument-processing code used by Guile-based shells generates' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; Scheme code based on the argument list.  This page contains help' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; functions for the code it generates.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'command-line' Name.Function
+'command-line' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'program-arguments' Name.Function
+'program-arguments' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; This is mostly for the internal use of the code generated by' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; scm_compile_shell_switches.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'load-user-init' Name.Function
+'load-user-init' Name.Builtin
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'home'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'getenv'      Name.Function
-' '           Text
-'"HOME"'      Literal.String
+'getenv'      Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'HOME'        Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n\t\t   '   Text
+'\n\t\t   '   Text.Whitespace
 '('           Punctuation
-'false-if-exception' Name.Function
-' '           Text
+'false-if-exception' Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'passwd:dir'  Name.Function
-' '           Text
+'passwd:dir'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'getpwuid'    Name.Function
-' '           Text
+'getpwuid'    Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'getuid'      Name.Function
+'getuid'      Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t   '   Text
-'"/"'         Literal.String
+'\n\t\t   '   Text.Whitespace
+'"'           Literal.String
+'/'           Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 ';; fallback for cygwin etc.' Comment.Single
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'init-file'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'in-vicinity' Name.Function
-' '           Text
+'in-vicinity' Name.Builtin
+' '           Text.Whitespace
 'home'        Name.Variable
-' '           Text
-'".guile"'    Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'.guile'      Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'file-exists?' Name.Function
-' '           Text
+'file-exists?' Name.Builtin
+' '           Text.Whitespace
 'init-file'   Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'primitive-load' Name.Function
-' '           Text
+'primitive-load' Name.Builtin
+' '           Text.Whitespace
 'init-file'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Loading by paths}' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Load a Scheme source file named NAME, searching for it in the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; directories listed in %load-path, and applying each of the file' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; name extensions listed in %load-extensions.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'load-from-path' Name.Function
-' '           Text
+'load-from-path' Name.Builtin
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'start-stack' Name.Function
-' '           Text
+'start-stack' Keyword
+' '           Text.Whitespace
 "'load-stack" Literal.String.Symbol
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
-'primitive-load-path' Name.Function
-' '           Text
+'primitive-load-path' Name.Builtin
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n\x0c\n' Text
+'\n\n\n\x0c\n' Text.Whitespace
 
 ';;; {Transcendental Functions}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; Derived from "Transcen.scm", Complex trancendental functions for SCM.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; Written by Jerry D. Hedden, (C) FSF.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;; See the file `COPYING' for terms applying to this program." Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'exp '        Name.Builtin
+'exp'         Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$exp'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'make-polar ' Name.Builtin
+'make-polar'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$exp'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'real-part '  Name.Builtin
+'real-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'imag-part '  Name.Builtin
+'imag-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'log '        Name.Builtin
+'log'         Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'>= '         Name.Builtin
+'>='          Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '$log'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'make-rectangular ' Name.Builtin
+'make-rectangular' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$log'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'magnitude '  Name.Builtin
+'magnitude'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'angle '      Name.Builtin
+'angle'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'sqrt '       Name.Builtin
+'sqrt'        Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'negative? '  Name.Builtin
+'negative?'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-rectangular ' Name.Builtin
+'make-rectangular' Name.Builtin
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$sqrt'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 '$sqrt'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'make-polar ' Name.Builtin
+'make-polar'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sqrt'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'magnitude '  Name.Builtin
+'magnitude'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'angle '      Name.Builtin
+'angle'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'expt'        Name.Variable
-'\n  '        Text
+'define'      Keyword
+' '           Text.Whitespace
+'expt'        Name.Builtin
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'integer-expt' Name.Function
-' '           Text
-'integer-expt' Name.Variable
+'integer-expt' Name.Builtin
+' '           Text.Whitespace
+'integer-expt' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'z1'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'z2'          Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'cond '       Keyword
+'cond'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'integer? '   Name.Builtin
+'integer?'    Name.Builtin
+' '           Text.Whitespace
 'z2'          Name.Variable
 ')'           Punctuation
-'\n             ' Text
+'\n             ' Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'negative? '  Name.Builtin
+'negative?'   Name.Builtin
+' '           Text.Whitespace
 'z2'          Name.Variable
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'integer-expt' Name.Function
-' '           Text
+'integer-expt' Name.Builtin
+' '           Text.Whitespace
 'z1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 'z2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
-'integer-expt' Name.Function
-' '           Text
+'integer-expt' Name.Builtin
+' '           Text.Whitespace
 'z1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z2'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z1'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'>= '         Name.Builtin
+'>='          Name.Builtin
+' '           Text.Whitespace
 'z1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 '$expt'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'z1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'else'        Name.Function
-'\n\t     '   Text
+'else'        Keyword
+'\n\t     '   Text.Whitespace
 '('           Punctuation
-'exp '        Name.Builtin
+'exp'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 'z2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'log '        Name.Builtin
+'log'         Name.Builtin
+' '           Text.Whitespace
 'z1'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'sinh'        Name.Function
-' '           Text
+'sinh'        Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$sinh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'real-part '  Name.Builtin
+'real-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'imag-part '  Name.Builtin
+'imag-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'make-rectangular ' Name.Builtin
+'make-rectangular' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sinh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$cos'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$cosh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$sin'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'cosh'        Name.Function
-' '           Text
+'cosh'        Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$cosh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'real-part '  Name.Builtin
+'real-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'imag-part '  Name.Builtin
+'imag-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'make-rectangular ' Name.Builtin
+'make-rectangular' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$cosh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$cos'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sinh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$sin'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tanh'        Name.Function
-' '           Text
+'tanh'        Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$tanh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'real-part '  Name.Builtin
+'real-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'y'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'imag-part '  Name.Builtin
+'imag-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'w'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$cosh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$cos'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'make-rectangular ' Name.Builtin
+'make-rectangular' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sinh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sin'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'asinh'       Name.Function
-' '           Text
+'asinh'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$asinh'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'log '        Name.Builtin
+'log'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'sqrt '       Name.Builtin
+'sqrt'        Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'acosh'       Name.Function
-' '           Text
+'acosh'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'>= '         Name.Builtin
+'>='          Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '$acosh'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'log '        Name.Builtin
+'log'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'sqrt '       Name.Builtin
+'sqrt'        Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'atanh'       Name.Function
-' '           Text
+'atanh'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'> '          Name.Builtin
+'>'           Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'< '          Name.Builtin
+'<'           Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '$atanh'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'log '        Name.Builtin
+'log'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'sin '        Name.Builtin
+'sin'         Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$sin'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'real-part '  Name.Builtin
+'real-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'imag-part '  Name.Builtin
+'imag-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'make-rectangular ' Name.Builtin
+'make-rectangular' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sin'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$cosh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$cos'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$sinh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'cos '        Name.Builtin
+'cos'         Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$cos'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'real-part '  Name.Builtin
+'real-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'imag-part '  Name.Builtin
+'imag-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'make-rectangular ' Name.Builtin
+'make-rectangular' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$cos'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$cosh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t  '  Text
+'\n\t\t\t  '  Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sin'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$sinh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'tan '        Name.Builtin
+'tan'         Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$tan'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'x'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'real-part '  Name.Builtin
+'real-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'y'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'imag-part '  Name.Builtin
+'imag-part'   Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'w'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$cos'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$cosh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'make-rectangular ' Name.Builtin
+'make-rectangular' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sin'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
 '$sinh'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'w'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'asin '       Name.Builtin
+'asin'        Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'>= '         Name.Builtin
+'>='          Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'<= '         Name.Builtin
+'<='          Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '$asin'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
-'-i'          Name.Variable
-' '           Text
+'*'           Name.Builtin
+' '           Text.Whitespace
+'-i'          Literal.Number.Integer
+' '           Text.Whitespace
 '('           Punctuation
-'asinh'       Name.Function
-' '           Text
+'asinh'       Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
-'+i'          Name.Variable
-' '           Text
+'*'           Name.Builtin
+' '           Text.Whitespace
+'+i'          Literal.Number.Integer
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'acos '       Name.Builtin
+'acos'        Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'>= '         Name.Builtin
+'>='          Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'<= '         Name.Builtin
+'<='          Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '$acos'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'angle '      Name.Builtin
+'angle'       Name.Builtin
+' '           Text.Whitespace
 '-1'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
-'+i'          Name.Variable
-' '           Text
+'*'           Name.Builtin
+' '           Text.Whitespace
+'+i'          Literal.Number.Integer
+' '           Text.Whitespace
 '('           Punctuation
-'asinh'       Name.Function
-' '           Text
+'asinh'       Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
-'+i'          Name.Variable
-' '           Text
+'*'           Name.Builtin
+' '           Text.Whitespace
+'+i'          Literal.Number.Integer
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'atan '       Name.Builtin
+'atan'        Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'real? '      Name.Builtin
+'real?'       Name.Builtin
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '$atan'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'log '        Name.Builtin
+'log'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
-'+i'          Name.Variable
-' '           Text
+'-'           Name.Builtin
+' '           Text.Whitespace
+'+i'          Literal.Number.Integer
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
-'+i'          Name.Variable
-' '           Text
+'+'           Name.Builtin
+' '           Text.Whitespace
+'+i'          Literal.Number.Integer
+' '           Text.Whitespace
 'z'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
-'+2i'         Name.Variable
+' '           Text.Whitespace
+'+2i'         Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 '$atan2'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'log10'       Name.Function
-' '           Text
+'log10'       Name.Builtin
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'/ '          Name.Builtin
+'/'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'log '        Name.Builtin
+'log'         Name.Builtin
+' '           Text.Whitespace
 'arg'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'log '        Name.Builtin
+'log'         Name.Builtin
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n\n' Text
+'\n\n\x0c\n\n' Text.Whitespace
 
 ';;; {Reader Extensions}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; Reader code for various "#c" forms.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'read-hash-extend' Name.Function
-' '           Text
+'read-hash-extend' Name.Builtin
+' '           Text.Whitespace
 "#\\'"        Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
-'read '       Name.Builtin
+'read'        Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'read-eval?'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-fluid'  Name.Function
+'make-fluid'  Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'fluid-set!'  Name.Function
-' '           Text
+'fluid-set!'  Name.Builtin
+' '           Text.Whitespace
 'read-eval?'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'read-hash-extend' Name.Function
-' '           Text
+'read-hash-extend' Name.Builtin
+' '           Text.Whitespace
 '#\\.'        Literal.String.Char
-'\n                  ' Text
+'\n                  ' Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'c'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n                    ' Text
+'\n                    ' Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'fluid-ref'   Name.Function
-' '           Text
+'fluid-ref'   Name.Builtin
+' '           Text.Whitespace
 'read-eval?'  Name.Variable
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
-'eval '       Name.Builtin
+'eval'        Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'read '       Name.Builtin
+'read'        Name.Builtin
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'interaction-environment' Name.Function
+'interaction-environment' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n                        ' Text
+'\n                        ' Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-'\n                         ' Text
-'"#. read expansion found and read-eval? is #f."' Literal.String
+'error'       Name.Builtin
+'\n                         ' Text.Whitespace
+'"'           Literal.String
+'#. read expansion found and read-eval? is #f.' Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Command Line Options}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'get-option'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'argv'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-opts'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-args'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'return'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'cond'        Name.Function
-'\n   '       Text
+'cond'        Keyword
+'\n   '       Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'return'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n   '     Text
+'\n\n   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 '#\\-'        Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-ref ' Name.Builtin
+'string-ref'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'return'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'normal-arg" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n   '     Text
+'\n\n   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 '#\\-'        Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-ref ' Name.Builtin
+'string-ref'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'kw-arg-pos'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'string-index' Name.Function
-' '           Text
+'string-index' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#\\='        Literal.String.Char
 ')'           Punctuation
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'kw'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol->keyword' Name.Function
-' '           Text
+'symbol->keyword' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'substring '  Name.Builtin
+'substring'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'kw-arg-pos'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'kw-opt?'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'member '     Name.Builtin
+'member'      Name.Builtin
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-opts'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'kw-arg?'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'member '     Name.Builtin
+'member'      Name.Builtin
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-args'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'arg'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 'kw-arg-pos'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
-'substring '  Name.Builtin
+'substring'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t    ' Text
+'\n\t\t\t\t    ' Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 'kw-arg-pos'  Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t\t    ' Text
+'\n\t\t\t\t    ' Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'kw-arg?'     Name.Variable
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
-'begin '      Keyword
+'begin'       Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'set! '       Keyword
+'set!'        Keyword
+' '           Text.Whitespace
 'argv'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 'kw-opt?'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-arg?'     Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'return'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'return'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'usage-error" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n   '     Text
+'\n\n   '     Text.Whitespace
 '('           Punctuation
-'else'        Name.Function
-'\n    '      Text
+'else'        Keyword
+'\n    '      Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'char'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'substring '  Name.Builtin
+'substring'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'kw'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'symbol->keyword' Name.Function
-' '           Text
+'symbol->keyword' Name.Builtin
+' '           Text.Whitespace
 'char'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'cond'        Name.Function
-'\n\n       ' Text
+'cond'        Keyword
+'\n\n       ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'member '     Name.Builtin
+'member'      Name.Builtin
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-opts'     Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rest-car'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'substring '  Name.Builtin
+'substring'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'new-argv'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'= '          Name.Builtin
+'='           Name.Builtin
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'rest-car'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '('           Punctuation
-'cons '       Name.Builtin
+'cons'        Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string-append ' Name.Builtin
-'"-"'         Literal.String
-' '           Text
+'string-append' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'-'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'rest-car'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'return'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 'new-argv'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n       ' Text
+'\n\n       ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'member '     Name.Builtin
+'member'      Name.Builtin
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-args'     Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'rest-car'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'substring '  Name.Builtin
+'substring'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'arg'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'= '          Name.Builtin
+'='           Name.Builtin
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'rest-car'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
-'cadr '       Name.Builtin
+'cadr'        Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 'rest-car'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'new-argv'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'= '          Name.Builtin
+'='           Name.Builtin
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'rest-car'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '('           Punctuation
-'cddr '       Name.Builtin
+'cddr'        Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-'\n\t\t\t     ' Text
+'\n\t\t\t     ' Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'return'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'arg'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'new-argv'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n       ' Text
+'\n\n       ' Text.Whitespace
 '('           Punctuation
-'else '       Keyword
+'else'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'return'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'usage-error" Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'for-next-option' Name.Function
-' '           Text
+' '           Text.Whitespace
 'proc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'argv'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-opts'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-args'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'argv'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'get-option'  Name.Function
-' '           Text
+' '           Text.Whitespace
 'argv'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-opts'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kw-args'     Name.Variable
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'opt'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'opt-arg'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'argv'        Name.Variable
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'opt'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'opt'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'opt-arg'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'argv'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'loop'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'display-usage-report' Name.Function
-' '           Text
+' '           Text.Whitespace
 'kw-desc'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'for-each'    Name.Function
-'\n   '       Text
+'for-each'    Name.Builtin
+'\n   '       Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'kw'          Name.Function
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'kw'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'kw'          Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'else"       Literal.String.Symbol
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opt-desc'    Name.Function
-' '           Text
+' '           Text.Whitespace
 'kw'          Name.Variable
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'help'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cadr '       Name.Builtin
+'cadr'        Name.Builtin
+' '           Text.Whitespace
 'opt-desc'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'opts'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opt-desc'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'opts-proper' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'string? '    Name.Builtin
+'string?'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'arg-name'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'string? '    Name.Builtin
+'string?'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t      ' Text
+'\n\t\t\t      ' Text.Whitespace
 '('           Punctuation
-'string-append ' Name.Builtin
-'"<"'         Literal.String
-' '           Text
+'string-append' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'<'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
-' '           Text
-'">"'         Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'>'           Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n\t\t\t      ' Text
-'""'          Literal.String
+'\n\t\t\t      ' Text.Whitespace
+'"'           Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'left-part'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-append' Name.Function
-'\n\t\t\t    ' Text
+'string-append' Name.Builtin
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
-'with-output-to-string' Name.Function
-'\n\t\t\t      ' Text
+'with-output-to-string' Name.Builtin
+'\n\t\t\t      ' Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t'  Text
+'\n\t\t\t\t'  Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
+'map'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'keyword->symbol' Name.Function
-' '           Text
+'keyword->symbol' Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'" "'         Literal.String
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+' '           Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t     ' Text
+'\n\t\t\t\t     ' Text.Whitespace
 'opts-proper' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 'arg-name'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
 'middle-part' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'< '          Name.Builtin
+'<'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'left-part'   Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '30'          Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t\t      ' Text
+'\n\t\t\t\t      ' Text.Whitespace
 '('           Punctuation
-'< '          Name.Builtin
+'<'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'help'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '40'          Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t ' Text
+'\n\t\t\t\t ' Text.Whitespace
 '('           Punctuation
-'make-string ' Name.Builtin
+'make-string' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 '30'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'left-part'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#\\ '        Literal.String.Char
 ')'           Punctuation
-'\n\t\t\t\t ' Text
-'"\\n\\t"'    Literal.String
+'\n\t\t\t\t ' Text.Whitespace
+'"'           Literal.String
+'\\n'         Literal.String.Escape
+'\\t'         Literal.String.Escape
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 'left-part'   Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 'middle-part' Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 'help'        Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'newline'     Name.Function
+'newline'     Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 'kw-desc'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n\n'    Text
+'\n\n\n\n'    Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'transform-usage-lambda' Name.Function
-' '           Text
+' '           Text.Whitespace
 'cases'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'raw-usage'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'delq!'       Name.Function
-' '           Text
+'delq!'       Name.Builtin
+' '           Text.Whitespace
 "'else"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
-'car'         Name.Variable
-' '           Text
+'map'         Name.Builtin
+' '           Text.Whitespace
+'car'         Name.Builtin
+' '           Text.Whitespace
 'cases'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'usage-sans-specials' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
+'map'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Function
 ')'           Punctuation
-'\n\t\t\t\t    ' Text
+'\n\t\t\t\t    ' Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'list? '      Name.Builtin
+'list?'       Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol? '    Name.Builtin
+'symbol?'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'boolean? '   Name.Builtin
+'boolean?'    Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
-'\n\t\t\t\t\t' Text
+'\n\t\t\t\t\t' Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t  ' Text
+'\n\t\t\t\t  ' Text.Whitespace
 'raw-usage'   Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'usage-desc'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'delq!'       Name.Function
-' '           Text
+'delq!'       Name.Builtin
+' '           Text.Whitespace
 '#t'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 'usage-sans-specials' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'kw-desc'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
-'car'         Name.Variable
-' '           Text
+'map'         Name.Builtin
+' '           Text.Whitespace
+'car'         Name.Builtin
+' '           Text.Whitespace
 'usage-desc'  Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'kw-opts'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'append'      Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'append'      Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
+'map'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string? '    Name.Builtin
+'string?'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'kw-desc'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'kw-args'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'apply '      Name.Builtin
-'append'      Name.Variable
-' '           Text
+'apply'       Name.Builtin
+' '           Text.Whitespace
+'append'      Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
+'map'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'string? '    Name.Builtin
+'string?'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'x'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'kw-desc'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'transmogrified-cases' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
+'map'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'case'        Name.Function
+'case'        Keyword
 ')'           Punctuation
-'\n\t\t\t\t      ' Text
+'\n\t\t\t\t      ' Text.Whitespace
 '('           Punctuation
-'cons '       Name.Builtin
+'cons'        Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'opts'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
-'case'        Name.Variable
+'car'         Name.Builtin
+' '           Text.Whitespace
+'case'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t      ' Text
+'\n\t\t\t\t\t      ' Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'boolean? '   Name.Builtin
+'boolean?'    Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'eq? '        Name.Builtin
+'eq?'         Name.Builtin
+' '           Text.Whitespace
 "'else"       Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t\t  ' Text.Whitespace
 'opts'        Name.Variable
-'\n\t\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t\t  ' Text.Whitespace
 '('           Punctuation
-'cond'        Name.Function
-'\n\t\t\t\t\t\t   ' Text
+'cond'        Keyword
+'\n\t\t\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'symbol? '    Name.Builtin
+'symbol?'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t\t   ' Text
+'\n\t\t\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'boolean? '   Name.Builtin
+'boolean?'    Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
-'\n\t\t\t\t\t\t   ' Text
+'\n\t\t\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'string? '    Name.Builtin
+'string?'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'caar '       Name.Builtin
+'caar'        Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdar '       Name.Builtin
+'cdar'        Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t\t   ' Text
+'\n\t\t\t\t\t\t   ' Text.Whitespace
 '('           Punctuation
-'else '       Keyword
+'else'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t    ' Text
+'\n\t\t\t\t\t    ' Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
-'case'        Name.Variable
+'cdr'         Name.Builtin
+' '           Text.Whitespace
+'case'        Keyword
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t    ' Text
+'\n\t\t\t\t    ' Text.Whitespace
 'cases'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '`'           Operator
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '%display-usage' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'display-usage-report' Name.Function
-' '           Text
+' '           Text.Whitespace
 "',usage-desc" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '%argv'       Name.Function
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '%next-arg'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 '%argv'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '%argv'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 'get-option'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '%argv'       Name.Variable
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 "',kw-opts"   Literal.String.Symbol
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 "',kw-args"   Literal.String.Symbol
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '%opt'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '%arg'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '%new-argv'   Name.Variable
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
-'case '       Keyword
+'case'        Keyword
+' '           Text.Whitespace
 '%opt'        Name.Variable
-'\n\t\t\t   ' Text
+'\n\t\t\t   ' Text.Whitespace
 ',@'          Operator
-' '           Text
+' '           Text.Whitespace
 'transmogrified-cases' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n\x0c\n\n' Text
+'\n\n\n\x0c\n\n' Text.Whitespace
 
 ';;; {Low Level Modules}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; These are the low level data structures for modules.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; !!! warning: The interface to lazy binder procedures is going' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; to be changed in an incompatible way to permit all the basic' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; module ops to be virtualized.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (make-module size use-list lazy-binding-proc) => module' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; module-{obarray,uses,binder}[|-set!]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module? obj) => [#t|#f]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-locally-bound? module symbol) => [#t|#f]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-bound? module symbol) => [#t|#f]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-symbol-locally-interned? module symbol) => [#t|#f]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-symbol-interned? module symbol) => [#t|#f]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-local-variable module symbol) => [#<variable ...> | #f]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-variable module symbol) => [#<variable ...> | #f]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-symbol-binding module symbol opt-value)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\t\t=> [ <obj> | opt-value | an error occurs ]' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-make-local-var! module symbol) => #<variable...>' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-add! module symbol var) => unspecified' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-remove! module symbol) =>  unspecified' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (module-for-each proc module) => unspecified' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (make-scm-module) => module ; a lazy copy of the symhash module' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (set-current-module module) => unspecified' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (current-module) => #<module...>' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Printing Modules}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; This is how modules are printed.  You can re-define it.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (Redefining is actually more complicated than simply redefining' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; %print-module because that would only change the binding and not' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; the value stored in the vtable that determines how record are' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; printed. Sigh.)' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'%print-module' Name.Function
-' '           Text
+'%print-module' Name.Builtin
+' '           Text.Whitespace
 'mod'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'  '          Text
+'  '          Text.Whitespace
 '; unused args: depth length style table)' Comment.Single
-'\n  '        Text
-'('           Punctuation
-'display '    Name.Builtin
-'"#<"'        Literal.String
-' '           Text
+'\n  '        Text.Whitespace
+'('           Punctuation
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'#<'          Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-kind' Name.Function
-' '           Text
+'module-kind' Name.Builtin
+' '           Text.Whitespace
 'mod'         Name.Variable
 ')'           Punctuation
-' '           Text
-'"module"'    Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'module'      Literal.String
+'"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'name'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-name' Name.Function
-' '           Text
+'module-name' Name.Builtin
+' '           Text.Whitespace
 'mod'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'name'        Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'begin'       Name.Function
-'\n\t  '      Text
+'begin'       Keyword
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'" "'         Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+' '           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'" "'         Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+' '           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
+'display'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'number->string ' Name.Builtin
+'number->string' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'object-address' Name.Function
-' '           Text
+'object-address' Name.Builtin
+' '           Text.Whitespace
 'mod'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '16'          Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'display '    Name.Builtin
-'">"'         Literal.String
-' '           Text
+'display'     Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'>'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'port'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-type' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; A module is characterized by an obarray in which local symbols' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; are interned, a list of modules, "uses", from which non-local' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; bindings can be inherited, and an optional lazy-binder which' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; is a (CLOSURE module symbol) which, as a last resort, can provide' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; bindings that would otherwise not be found locally in the module.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; NOTE: If you change here, you also need to change libguile/modules.h.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'module-type' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'make-record-type' Name.Function
-' '           Text
+'make-record-type' Name.Builtin
+' '           Text.Whitespace
 "'module"     Literal.String.Symbol
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 "'"           Operator
 '('           Punctuation
 'obarray'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'uses'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'binder'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'eval-closure' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'transformer' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'kind'        Name.Variable
-'\n\t\t\t      ' Text
+'\n\t\t\t      ' Text.Whitespace
 'observers'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 'weak-observers' Name.Variable
-' '           Text
+' '           Text.Whitespace
 'observer-id' Name.Variable
 ')'           Punctuation
-'\n\t\t    '  Text
-'%print-module' Name.Variable
+'\n\t\t    '  Text.Whitespace
+'%print-module' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; make-module &opt size uses binder' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Create a new module, perhaps with a particular size of obarray,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; initial uses list, or binding procedure.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'make-module' Name.Variable
-'\n    '      Text
+'define'      Keyword
+' '           Text.Whitespace
+'make-module' Name.Builtin
+'\n    '      Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 'args'        Name.Variable
-'\n\n      '  Text
+'\n\n      '  Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'parse-arg'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'> '          Name.Builtin
+'>'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'length '     Name.Builtin
+'length'      Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'list-ref '   Name.Builtin
+'list-ref'    Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 'default'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n      '  Text
+'\n\n      '  Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'> '          Name.Builtin
+'>'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'length '     Name.Builtin
+'length'      Name.Builtin
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
-'"Too many args to make-module."' Literal.String
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'Too many args to make-module.' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'args'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n      '  Text
+'\n\n      '  Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'size'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse-arg'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '1021'        Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'uses'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse-arg'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
 'binder'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'parse-arg'   Name.Function
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'integer? '   Name.Builtin
+'integer?'    Name.Builtin
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
-'"Illegal size to make-module."' Literal.String
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'Illegal size to make-module.' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'size'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'list? '      Name.Builtin
+'list?'       Name.Builtin
+' '           Text.Whitespace
 'uses'        Name.Variable
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
-'and-map'     Name.Function
-' '           Text
-'module?'     Name.Variable
-' '           Text
+'and-map'     Name.Builtin
+' '           Text.Whitespace
+'module?'     Name.Builtin
+' '           Text.Whitespace
 'uses'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
-'"Incorrect use list."' Literal.String
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'Incorrect use list.' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'uses'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'binder'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'procedure? ' Name.Builtin
+'procedure?'  Name.Builtin
+' '           Text.Whitespace
 'binder'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-'\n\t     '   Text
-'"Lazy-binder expected to be a procedure or #f."' Literal.String
-' '           Text
+'error'       Name.Builtin
+'\n\t     '   Text.Whitespace
+'"'           Literal.String
+'Lazy-binder expected to be a procedure or #f.' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'binder'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\t'      Text
+'\n\n\t'      Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'module'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-constructor' Name.Function
-' '           Text
+'module-constructor' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'make-vector ' Name.Builtin
+'make-vector' Name.Builtin
+' '           Text.Whitespace
 'size'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 'uses'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'binder'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 '('           Punctuation
-'make-weak-value-hash-table' Name.Function
-' '           Text
+'make-weak-value-hash-table' Name.Builtin
+' '           Text.Whitespace
 '31'          Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t\t\t  ' Text
+'\n\t\t\t\t\t  ' Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\t  '    Text
+'\n\n\t  '    Text.Whitespace
 ";; We can't pass this as an argument to module-constructor," Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; because we need it to close over a pointer to the module' Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 ';; itself.'  Comment.Single
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'set-module-eval-closure!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'standard-eval-closure' Name.Function
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\t  '    Text
+'\n\n\t  '    Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-constructor' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-constructor' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-constructor' Name.Function
-' '           Text
+'record-constructor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-obarray' Name.Variable
-'  '          Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-obarray' Name.Builtin
+'  '          Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'obarray"    Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'set-module-obarray!' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'set-module-obarray!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'obarray"    Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-uses' Name.Variable
-'  '          Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-uses' Name.Builtin
+'  '          Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'uses"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'set-module-uses!' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'set-module-uses!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'uses"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-binder' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-binder' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'binder"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'set-module-binder!' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'set-module-binder!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'binder"     Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; NOTE: This binding is used in libguile/modules.c.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'module-eval-closure' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'eval-closure" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-transformer' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-transformer' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'transformer" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'set-module-transformer!' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'set-module-transformer!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'transformer" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-name' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-name' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'name"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'set-module-name!' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'set-module-name!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'name"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-kind' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-kind' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'kind"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'set-module-kind!' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'set-module-kind!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'kind"       Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-observers' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-observers' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'observers"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'set-module-observers!' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'set-module-observers!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'observers"  Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module-weak-observers' Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'module-weak-observers' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'weak-observers" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'module-observer-id' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'record-accessor' Name.Function
-' '           Text
+'record-accessor' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'observer-id" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'set-module-observer-id!' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'observer-id" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
-'module?'     Name.Variable
-' '           Text
+'define'      Keyword
+' '           Text.Whitespace
+'module?'     Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-predicate' Name.Function
-' '           Text
+'record-predicate' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'set-module-eval-closure!' Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'setter'      Name.Function
-' '           Text
+'setter'      Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'record-modifier' Name.Function
-' '           Text
+'record-modifier' Name.Builtin
+' '           Text.Whitespace
 'module-type' Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'eval-closure" Literal.String.Symbol
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'module'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'closure'     Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'setter'      Name.Function
-' '           Text
+'setter'      Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'closure'     Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; Make it possible to lookup the module from the environment.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; This implementation is correct since an eval closure can belong' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 ';; to maximally one module.' Comment.Single
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'set-procedure-property!' Name.Function
-' '           Text
+'set-procedure-property!' Name.Builtin
+' '           Text.Whitespace
 'closure'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'module"     Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'begin-deprecated' Name.Function
-'\n '         Text
+'begin-deprecated' Keyword
+'\n '         Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'eval-in-module' Name.Function
-' '           Text
-'exp'         Name.Variable
-' '           Text
+' '           Text.Whitespace
+'exp'         Name.Builtin
+' '           Text.Whitespace
 'mod'         Name.Variable
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'issue-deprecation-warning' Name.Function
-'\n    '      Text
-'"`eval-in-module\' is deprecated.  Use `eval\' instead."' Literal.String
+'issue-deprecation-warning' Name.Builtin
+'\n    '      Text.Whitespace
+'"'           Literal.String
+"`eval-in-module' is deprecated.  Use `eval' instead." Literal.String
+'"'           Literal.String
 ')'           Punctuation
-'\n   '       Text
+'\n   '       Text.Whitespace
 '('           Punctuation
-'eval '       Name.Builtin
-'exp'         Name.Variable
-' '           Text
+'eval'        Name.Builtin
+' '           Text.Whitespace
+'exp'         Name.Builtin
+' '           Text.Whitespace
 'mod'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Observer protocol}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-observe' Name.Function
-' '           Text
+'module-observe' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'proc'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'set-module-observers!' Name.Function
-' '           Text
+'set-module-observers!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cons '       Name.Builtin
+'cons'        Name.Builtin
+' '           Text.Whitespace
 'proc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-observers' Name.Function
-' '           Text
+'module-observers' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'cons '       Name.Builtin
+'cons'        Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'proc'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-observe-weak' Name.Function
-' '           Text
+'module-observe-weak' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'proc'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'id'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'module-observer-id' Name.Function
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'hash-set!'   Name.Function
-' '           Text
+'hash-set!'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-weak-observers' Name.Function
-' '           Text
+'module-weak-observers' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'id'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'proc'        Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set-module-observer-id!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'id'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'cons '       Name.Builtin
+'cons'        Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'id'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-unobserve' Name.Function
-' '           Text
+'module-unobserve' Name.Builtin
+' '           Text.Whitespace
 'token'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'module'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'token'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'id'          Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'token'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'integer? '   Name.Builtin
+'integer?'    Name.Builtin
+' '           Text.Whitespace
 'id'          Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'hash-remove!' Name.Function
-' '           Text
+'hash-remove!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-weak-observers' Name.Function
-' '           Text
+'module-weak-observers' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'id'          Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'set-module-observers!' Name.Function
-' '           Text
+'set-module-observers!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'delq1!'      Name.Function
-' '           Text
+'delq1!'      Name.Builtin
+' '           Text.Whitespace
 'id'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-observers' Name.Function
-' '           Text
+'module-observers' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
-'*unspecified*' Name.Variable
+'\n  '        Text.Whitespace
+'*unspecified*' Keyword
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-modified' Name.Function
-' '           Text
+'module-modified' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'for-each '   Name.Builtin
+'for-each'    Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-observers' Name.Function
-' '           Text
+'module-observers' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'hash-fold'   Name.Function
-' '           Text
+'hash-fold'   Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'id'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'proc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'res'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-weak-observers' Name.Function
-' '           Text
+'module-weak-observers' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Module Searching in General}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; We sometimes want to look for properties of a symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; just within the obarray of one module.  If the property' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;; holds, then it is said to hold ``locally'' as in, ``The symbol" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;; DISPLAY is locally rebound in the module `safe-guile'.''" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; Other times, we want to test for a symbol property in the obarray' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; of M and, if it is not found there, try each of the modules in the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; uses list of M.  This is the normal way of testing for some' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; property, so we state these properties without qualification as' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;; in: ``The symbol 'fnord is interned in module M because it is" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; interned locally in module M2 which is a member of the uses list' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;; of M.''" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-search fn m' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; return the first non-#f result of FN applied to M and then to' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; the modules in the uses of m, and so on recursively.  If all applications' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; return #f, then so does this function.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-search' Name.Function
-' '           Text
+'module-search' Name.Builtin
+' '           Text.Whitespace
 'fn'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'pair? '      Name.Builtin
+'pair?'       Name.Builtin
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-search' Name.Function
-' '           Text
+'module-search' Name.Builtin
+' '           Text.Whitespace
 'fn'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'pos'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'fn'          Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-uses' Name.Function
-' '           Text
+'module-uses' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';;; {Is a symbol bound in a module?}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; Symbol S in Module M is bound if S is interned in M and if the binding' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; of S in M has been set to some well-defined value.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-locally-bound? module symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Is a symbol bound (interned and defined) locally in a given module?' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-locally-bound?' Name.Function
-' '           Text
+'module-locally-bound?' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'var'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-local-variable' Name.Function
-' '           Text
+'module-local-variable' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'var'         Name.Variable
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'variable-bound?' Name.Function
-' '           Text
+'variable-bound?' Name.Builtin
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-bound? module symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Is a symbol bound (interned and defined) anywhere in a given module' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; or its uses?' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-bound?' Name.Function
-' '           Text
+'module-bound?' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-search' Name.Function
-' '           Text
-'module-locally-bound?' Name.Variable
-' '           Text
+'module-search' Name.Builtin
+' '           Text.Whitespace
+'module-locally-bound?' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';;; {Is a symbol interned in a module?}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; Symbol S in Module M is interned if S occurs in' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; of S in M has been set to some well-defined value.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; It is possible to intern a symbol in a module without providing' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; an initial binding for the corresponding variable.  This is done' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; with:'   Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;       (module-add! module symbol (make-undefined-variable))' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; In that case, the symbol is interned in the module, but not' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; bound there.  The unbound symbol shadows any binding for that' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; symbol that might otherwise be inherited from a member of the uses list.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray-get-handle' Name.Function
-' '           Text
+'module-obarray-get-handle' Name.Builtin
+' '           Text.Whitespace
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol? '    Name.Builtin
+'symbol?'     Name.Builtin
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-' '           Text
-'hashq-get-handle' Name.Variable
-' '           Text
-'hash-get-handle' Name.Variable
+' '           Text.Whitespace
+'hashq-get-handle' Name.Builtin
+' '           Text.Whitespace
+'hash-get-handle' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray-ref' Name.Function
-' '           Text
+'module-obarray-ref' Name.Builtin
+' '           Text.Whitespace
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol? '    Name.Builtin
+'symbol?'     Name.Builtin
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-' '           Text
-'hashq-ref'   Name.Variable
-' '           Text
-'hash-ref'    Name.Variable
+' '           Text.Whitespace
+'hashq-ref'   Name.Builtin
+' '           Text.Whitespace
+'hash-ref'    Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray-set!' Name.Function
-' '           Text
+'module-obarray-set!' Name.Builtin
+' '           Text.Whitespace
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol? '    Name.Builtin
+'symbol?'     Name.Builtin
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-' '           Text
-'hashq-set!'  Name.Variable
-' '           Text
-'hash-set!'   Name.Variable
+' '           Text.Whitespace
+'hashq-set!'  Name.Builtin
+' '           Text.Whitespace
+'hash-set!'   Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray-remove!' Name.Function
-' '           Text
+'module-obarray-remove!' Name.Builtin
+' '           Text.Whitespace
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'symbol? '    Name.Builtin
+'symbol?'     Name.Builtin
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
-' '           Text
-'hashq-remove!' Name.Variable
-' '           Text
-'hash-remove!' Name.Variable
+' '           Text.Whitespace
+'hashq-remove!' Name.Builtin
+' '           Text.Whitespace
+'hash-remove!' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ob'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'key'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-symbol-locally-interned? module symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; is a symbol interned (not neccessarily defined) locally in a given module' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; or its uses?  Interned symbols shadow inherited bindings even if' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; they are not themselves bound to a defined value.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-symbol-locally-interned?' Name.Function
-' '           Text
+'module-symbol-locally-interned?' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray-get-handle' Name.Function
-' '           Text
+'module-obarray-get-handle' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-symbol-interned? module symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; is a symbol interned (not neccessarily defined) anywhere in a given module' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; or its uses?  Interned symbols shadow inherited bindings even if' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; they are not themselves bound to a defined value.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-symbol-interned?' Name.Function
-' '           Text
+'module-symbol-interned?' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-search' Name.Function
-' '           Text
-'module-symbol-locally-interned?' Name.Variable
-' '           Text
+'module-search' Name.Builtin
+' '           Text.Whitespace
+'module-symbol-locally-interned?' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';;; {Mapping modules x symbols --> variables}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-local-variable module symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; return the local variable associated with a MODULE and SYMBOL.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; This function is very important. It is the only function that can' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; return a variable from a module other than the mutators that store' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; new variables in modules.  Therefore, this function is the location' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; of the "lazy binder" hack.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; If symbol is defined in MODULE, and if the definition binds symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; to a variable, return that variable object.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; If the symbols is not found at first, but the module has a lazy binder,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; then try the binder.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; If the symbol is not found at all, return #f.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-local-variable' Name.Function
-' '           Text
+'module-local-variable' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';  (caddr'   Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';   (list m v' Comment.Single
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'b'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray-ref' Name.Function
-' '           Text
+'module-obarray-ref' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'variable?'   Name.Function
-' '           Text
+'variable?'   Name.Builtin
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-binder' Name.Function
-' '           Text
+'module-binder' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'module-binder' Name.Function
-' '           Text
+'module-binder' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';))'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-variable module symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; like module-local-variable, except search the uses in the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; case V is not found in M.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; NOTE: This function is superseded with C code (see modules.c)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;      when using the standard eval closure.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-variable' Name.Function
-' '           Text
+'module-variable' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-search' Name.Function
-' '           Text
-'module-local-variable' Name.Variable
-' '           Text
+'module-search' Name.Builtin
+' '           Text.Whitespace
+'module-local-variable' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';;; {Mapping modules x symbols --> bindings}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; These are similar to the mapping to variables, except that the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; variable is dereferenced.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-symbol-binding module symbol opt-value' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; return the binding of a variable specified by name within' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; a given module, signalling an error if the variable is unbound.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; If the OPT-VALUE is passed, then instead of signalling an error,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; return OPT-VALUE.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-symbol-local-binding' Name.Function
-' '           Text
+'module-symbol-local-binding' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'opt-val'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'var'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-local-variable' Name.Function
-' '           Text
+'module-local-variable' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'var'         Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'variable-ref' Name.Function
-' '           Text
+'variable-ref' Name.Builtin
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'opt-val'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opt-val'     Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
-'"Locally unbound variable."' Literal.String
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'Locally unbound variable.' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-symbol-binding module symbol opt-value' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; return the binding of a variable specified by name within' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; a given module, signalling an error if the variable is unbound.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; If the OPT-VALUE is passed, then instead of signalling an error,' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; return OPT-VALUE.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-symbol-binding' Name.Function
-' '           Text
+'module-symbol-binding' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'opt-val'     Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'var'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-variable' Name.Function
-' '           Text
+'module-variable' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'var'         Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'variable-ref' Name.Function
-' '           Text
+'variable-ref' Name.Builtin
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'opt-val'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'opt-val'     Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
-'"Unbound variable."' Literal.String
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'Unbound variable.' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n\x0c\n' Text
+'\n\n\n\x0c\n' Text.Whitespace
 
 ';;; {Adding Variables to Modules}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 ';; module-make-local-var! module symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; ensure a variable for V in the local namespace of M.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; If no variable was already there, then create a new and uninitialzied' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; variable.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-make-local-var!' Name.Function
-' '           Text
+'module-make-local-var!' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'b'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray-ref' Name.Function
-' '           Text
+'module-obarray-ref' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'variable?'   Name.Function
-' '           Text
+'variable?'   Name.Builtin
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
-'begin'       Name.Function
-'\n\t       ' Text
+'begin'       Keyword
+'\n\t       ' Text.Whitespace
 '('           Punctuation
-'module-modified' Name.Function
-' '           Text
+'module-modified' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-binder' Name.Function
-' '           Text
+'module-binder' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-'\n\t   '     Text
+'\n\t   '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'module-binder' Name.Function
-' '           Text
+'module-binder' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#t'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'begin'       Name.Function
-'\n\t'        Text
+'begin'       Keyword
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'answer'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-undefined-variable' Name.Function
+'make-undefined-variable' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'variable-set-name-hint!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'module-obarray-set!' Name.Function
-' '           Text
+'module-obarray-set!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'answer'      Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'module-modified' Name.Function
-' '           Text
+'module-modified' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 'answer'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-ensure-local-variable! module symbol' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Ensure that there is a local variable in MODULE for SYMBOL.  If' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; there is no binding for SYMBOL, create a new uninitialized' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; variable.  Return the local variable.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-ensure-local-variable!' Name.Function
-' '           Text
+'module-ensure-local-variable!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
-'symbol'      Name.Variable
+' '           Text.Whitespace
+'symbol'      Name.Builtin
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'or '         Keyword
+'or'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-local-variable' Name.Function
-' '           Text
+'module-local-variable' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
-'symbol'      Name.Variable
+' '           Text.Whitespace
+'symbol'      Name.Builtin
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'var'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-undefined-variable' Name.Function
+'make-undefined-variable' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'variable-set-name-hint!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'var'         Name.Variable
-' '           Text
-'symbol'      Name.Variable
+' '           Text.Whitespace
+'symbol'      Name.Builtin
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'module-add!' Name.Function
-' '           Text
+'module-add!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
-'symbol'      Name.Variable
-' '           Text
+' '           Text.Whitespace
+'symbol'      Name.Builtin
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-add! module symbol var' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; ensure a particular variable for V in the local namespace of M.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-add!' Name.Function
-' '           Text
+'module-add!' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'variable?'   Name.Function
-' '           Text
+'variable?'   Name.Builtin
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
-'"Bad variable to module-add!"' Literal.String
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'Bad variable to module-add!' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-obarray-set!' Name.Function
-' '           Text
+'module-obarray-set!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'var'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-modified' Name.Function
-' '           Text
+'module-modified' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; module-remove!' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; make sure that a symbol is undefined in the local namespace of M.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-remove!' Name.Function
-' '           Text
+'module-remove!' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-obarray-remove!' Name.Function
-'  '          Text
+'module-obarray-remove!' Name.Builtin
+'  '          Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'v'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-modified' Name.Function
-' '           Text
+'module-modified' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-clear!' Name.Function
-' '           Text
+'module-clear!' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'vector-fill! ' Name.Builtin
+'vector-fill!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-modified' Name.Function
-' '           Text
+'module-modified' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; MODULE-FOR-EACH -- exported' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Call PROC on each symbol in MODULE, with arguments of (SYMBOL VARIABLE).' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-for-each' Name.Function
-' '           Text
+'module-for-each' Name.Builtin
+' '           Text.Whitespace
 'proc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'obarray'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'do '         Keyword
+'do'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'index'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 'index'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'end'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-length ' Name.Builtin
+'vector-length' Name.Builtin
+' '           Text.Whitespace
 'obarray'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'= '          Name.Builtin
+'='           Name.Builtin
+' '           Text.Whitespace
 'index'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'for-each'    Name.Function
-'\n       '   Text
+'for-each'    Name.Builtin
+'\n       '   Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'bucket'      Name.Function
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'bucket'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'bucket'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obarray'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'index'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-map'  Name.Function
-' '           Text
+'module-map'  Name.Builtin
+' '           Text.Whitespace
 'proc'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let* '       Keyword
+'let*'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'obarray'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-obarray' Name.Function
-' '           Text
+'module-obarray' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t '       Text
+'\n\t '       Text.Whitespace
 '('           Punctuation
 'end'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'vector-length ' Name.Builtin
+'vector-length' Name.Builtin
+' '           Text.Whitespace
 'obarray'     Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'i'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t       ' Text
+'\n\t       ' Text.Whitespace
 '('           Punctuation
 'answer'      Name.Function
-' '           Text
+' '           Text.Whitespace
 "'"           Operator
 '('           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'= '          Name.Builtin
+'='           Name.Builtin
+' '           Text.Whitespace
 'i'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'end'         Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 'answer'      Name.Variable
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'+ '          Name.Builtin
+'+'           Name.Builtin
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
-'\n\t\t'      Text
+'\n\t\t'      Text.Whitespace
 '('           Punctuation
-'append!'     Name.Function
-'\n\t\t '     Text
+'append!'     Name.Builtin
+'\n\t\t '     Text.Whitespace
 '('           Punctuation
-'map '        Name.Builtin
+'map'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'bucket'      Name.Function
 ')'           Punctuation
-'\n\t\t\t'    Text
+'\n\t\t\t'    Text.Whitespace
 '('           Punctuation
 'proc'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'bucket'      Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'bucket'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t      ' Text
+'\n\t\t      ' Text.Whitespace
 '('           Punctuation
-'vector-ref ' Name.Builtin
+'vector-ref'  Name.Builtin
+' '           Text.Whitespace
 'obarray'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'i'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t '     Text
+'\n\t\t '     Text.Whitespace
 'answer'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\x0c\n\n'  Text
+'\n\x0c\n\n'  Text.Whitespace
 
 ';;; {Low Level Bootstrapping}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; make-root-module' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; A root module uses the pre-modules-obarray as its obarray.  This' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; special obarray accumulates all bindings that have been established' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; before the module system is fully booted.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; (The obarray continues to be used by code that has been closed over' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;  before the module system has been booted.)' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'make-root-module' Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'm'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-module' Name.Function
-' '           Text
+'make-module' Name.Builtin
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'set-module-obarray!' Name.Function
-' '           Text
+'set-module-obarray!' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'%get-pre-modules-obarray' Name.Function
+'%get-pre-modules-obarray' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; make-scm-module' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; The root interface is a module that uses the same obarray as the' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; root module.  It does not allow new definitions, tho.' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'make-scm-module' Name.Function
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'm'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-module' Name.Function
-' '           Text
+'make-module' Name.Builtin
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'set-module-obarray!' Name.Function
-' '           Text
+'set-module-obarray!' Name.Builtin
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'%get-pre-modules-obarray' Name.Function
+'%get-pre-modules-obarray' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
 'set-module-eval-closure!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'standard-interface-eval-closure' Name.Function
-' '           Text
+' '           Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'm'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n\x0c\n' Text
+'\n\n\n\x0c\n' Text.Whitespace
 
 ';;; {Module-based Loading}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'save-module-excursion' Name.Function
-' '           Text
+'save-module-excursion' Name.Builtin
+' '           Text.Whitespace
 'thunk'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'inner-module' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'current-module' Name.Function
+'current-module' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'outer-module' Name.Function
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'dynamic-wind ' Name.Builtin
+'dynamic-wind' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'set! '       Keyword
+'set!'        Keyword
+' '           Text.Whitespace
 'outer-module' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'current-module' Name.Function
+'current-module' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'set-current-module' Name.Function
-' '           Text
+'set-current-module' Name.Builtin
+' '           Text.Whitespace
 'inner-module' Name.Variable
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'set! '       Keyword
+'set!'        Keyword
+' '           Text.Whitespace
 'inner-module' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 'thunk'       Name.Variable
-'\n\t\t  '    Text
+'\n\t\t  '    Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'set! '       Keyword
+'set!'        Keyword
+' '           Text.Whitespace
 'inner-module' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'current-module' Name.Function
+'current-module' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'set-current-module' Name.Function
-' '           Text
+'set-current-module' Name.Builtin
+' '           Text.Whitespace
 'outer-module' Name.Variable
 ')'           Punctuation
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'set! '       Keyword
+'set!'        Keyword
+' '           Text.Whitespace
 'outer-module' Name.Variable
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'basic-load'  Name.Variable
-' '           Text
-'load'        Name.Variable
+' '           Text.Whitespace
+'load'        Keyword
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'load-module' Name.Function
-' '           Text
+' '           Text.Whitespace
 'filename'    Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'save-module-excursion' Name.Function
-'\n   '       Text
+'save-module-excursion' Name.Builtin
+'\n   '       Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'oldname'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'current-load-port' Name.Function
+'current-load-port' Name.Builtin
 ')'           Punctuation
-'\n\t\t\t '   Text
+'\n\t\t\t '   Text.Whitespace
 '('           Punctuation
-'port-filename' Name.Function
-' '           Text
+'port-filename' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'current-load-port' Name.Function
+'current-load-port' Name.Builtin
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n       '   Text
+'\n       '   Text.Whitespace
 '('           Punctuation
 'basic-load'  Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'oldname'     Name.Variable
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
-'> '          Name.Builtin
+'>'           Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string-length ' Name.Builtin
+'string-length' Name.Builtin
+' '           Text.Whitespace
 'filename'    Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'char=? '     Name.Builtin
+'char=?'      Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string-ref ' Name.Builtin
+'string-ref'  Name.Builtin
+' '           Text.Whitespace
 'filename'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#\\/'        Literal.String.Char
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t\t    ' Text
+'\n\t\t\t    ' Text.Whitespace
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'string=? '   Name.Builtin
+'string=?'    Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'dirname'     Name.Function
-' '           Text
+'dirname'     Name.Builtin
+' '           Text.Whitespace
 'oldname'     Name.Variable
 ')'           Punctuation
-' '           Text
-'"."'         Literal.String
+' '           Text.Whitespace
+'"'           Literal.String
+'.'           Literal.String
+'"'           Literal.String
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 '('           Punctuation
-'string-append ' Name.Builtin
+'string-append' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'dirname'     Name.Function
-' '           Text
+'dirname'     Name.Builtin
+' '           Text.Whitespace
 'oldname'     Name.Variable
 ')'           Punctuation
-' '           Text
-'"/"'         Literal.String
-' '           Text
+' '           Text.Whitespace
+'"'           Literal.String
+'/'           Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'filename'    Name.Variable
 ')'           Punctuation
-'\n\t\t       ' Text
+'\n\t\t       ' Text.Whitespace
 'filename'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n\x0c\n' Text
+'\n\n\n\x0c\n' Text.Whitespace
 
 ';;; {MODULE-REF -- exported}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Returns the value of a variable called NAME in MODULE or any of its' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; used modules.  If there is no such variable, then if the optional third' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; argument DEFAULT is present, it is returned; otherwise an error is signaled.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-ref'  Name.Function
-' '           Text
+'module-ref'  Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 'rest'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'variable'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-variable' Name.Function
-' '           Text
+'module-variable' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'variable'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'variable-bound?' Name.Function
-' '           Text
+'variable-bound?' Name.Builtin
+' '           Text.Whitespace
 'variable'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'variable-ref' Name.Function
-' '           Text
+'variable-ref' Name.Builtin
+' '           Text.Whitespace
 'variable'    Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'rest'        Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
-'"No variable named"' Literal.String
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'No variable named' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'in"         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'rest'        Name.Variable
 ')'           Punctuation
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 '; default value' Comment.Single
-'\n\t    '    Text
+'\n\t    '    Text.Whitespace
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; MODULE-SET! -- exported' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Sets the variable called NAME in MODULE (or in a module that MODULE uses)' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; to VALUE; if there is no such variable, an error is signaled.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-set!' Name.Function
-' '           Text
+'module-set!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'variable'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-variable' Name.Function
-' '           Text
+'module-variable' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'variable'    Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'variable-set!' Name.Function
-' '           Text
+'variable-set!' Name.Builtin
+' '           Text.Whitespace
 'variable'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'error'       Name.Function
-' '           Text
-'"No variable named"' Literal.String
-' '           Text
+'error'       Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String
+'No variable named' Literal.String
+'"'           Literal.String
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 "'in"         Literal.String.Symbol
-' '           Text
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; MODULE-DEFINE! -- exported' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Sets the variable called NAME in MODULE to VALUE; if there is no such' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; variable, it is added first.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-define!' Name.Function
-' '           Text
+'module-define!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'variable'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-local-variable' Name.Function
-' '           Text
+'module-local-variable' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 'variable'    Name.Variable
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'begin'       Name.Function
-'\n\t  '      Text
+'begin'       Keyword
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'variable-set!' Name.Function
-' '           Text
+'variable-set!' Name.Builtin
+' '           Text.Whitespace
 'variable'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'module-modified' Name.Function
-' '           Text
+'module-modified' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'variable'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'make-variable' Name.Function
-' '           Text
+'make-variable' Name.Builtin
+' '           Text.Whitespace
 'value'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
 'variable-set-name-hint!' Name.Function
-' '           Text
+' '           Text.Whitespace
 'variable'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
-'\n\t  '      Text
+'\n\t  '      Text.Whitespace
 '('           Punctuation
-'module-add!' Name.Function
-' '           Text
+'module-add!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'variable'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; MODULE-DEFINED? -- exported' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Return #t iff NAME is defined in MODULE (or in a module that MODULE' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; uses)'    Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-defined?' Name.Function
-' '           Text
+'module-defined?' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'variable'    Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-variable' Name.Function
-' '           Text
+'module-variable' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'and '        Keyword
+'and'         Keyword
+' '           Text.Whitespace
 'variable'    Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'variable-bound?' Name.Function
-' '           Text
+'variable-bound?' Name.Builtin
+' '           Text.Whitespace
 'variable'    Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ';; MODULE-USE! module interface' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';; Add INTERFACE to the list of interfaces used by MODULE.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;'          Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'module-use!' Name.Function
-' '           Text
+'module-use!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'interface'   Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'set-module-uses!' Name.Function
-' '           Text
+'set-module-uses!' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
-'\n\t\t    '  Text
+'\n\t\t    '  Text.Whitespace
 '('           Punctuation
-'cons '       Name.Builtin
+'cons'        Name.Builtin
+' '           Text.Whitespace
 'interface'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'delq!'       Name.Function
-' '           Text
+'delq!'       Name.Builtin
+' '           Text.Whitespace
 'interface'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-uses' Name.Function
-' '           Text
+'module-uses' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'module-modified' Name.Function
-' '           Text
+'module-modified' Name.Builtin
+' '           Text.Whitespace
 'module'      Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\x0c\n'  Text
+'\n\n\x0c\n'  Text.Whitespace
 
 ';;; {Recursive Namespaces}' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; A hierarchical namespace emerges if we consider some module to be' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; root, and variables bound to modules as nested namespaces.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; The routines in this file manage variable names in hierarchical namespace.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; Each variable name is a list of elements, looked up in successively nested' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; modules.' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ";;;\t\t(nested-ref some-root-module '(foo bar baz))" Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\t\t=> <value of a variable named baz in the module bound to bar in' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\t\t    the module bound to foo in some-root-module>' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; There are:' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\t;; a-root is a module' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\t;; name is a list of symbols' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\tnested-ref a-root name' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\tnested-set! a-root name val' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\tnested-define! a-root name val' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\tnested-remove! a-root name' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; (current-module) is a natural choice for a-root so for convenience there are' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; also:'   Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\tlocal-ref name\t\t==\tnested-ref (current-module) name' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\tlocal-set! name val\t==\tnested-set! (current-module) name val' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\tlocal-define! name val\t==\tnested-define! (current-module) name val' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;\tlocal-remove! name\t==\tnested-remove! (current-module) name' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;;'         Comment.Single
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'nested-ref'  Name.Function
-' '           Text
+'nested-ref'  Name.Builtin
+' '           Text.Whitespace
 'root'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'cur'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'root'        Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'elts'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'cond'        Name.Function
-'\n     '     Text
+'cond'        Keyword
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'cur'         Name.Variable
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
 '('           Punctuation
-'not '        Name.Builtin
+'not'         Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'module?'     Name.Function
-' '           Text
+'module?'     Name.Builtin
+' '           Text.Whitespace
 'cur'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
-'\n     '     Text
+'\n     '     Text.Whitespace
 '('           Punctuation
-'else '       Keyword
+'else'        Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-ref'  Name.Function
-' '           Text
+'module-ref'  Name.Builtin
+' '           Text.Whitespace
 'cur'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '#f'          Name.Constant
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'nested-set!' Name.Function
-' '           Text
+'nested-set!' Name.Builtin
+' '           Text.Whitespace
 'root'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'cur'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'root'        Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'elts'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'module-set!' Name.Function
-' '           Text
+'module-set!' Name.Builtin
+' '           Text.Whitespace
 'cur'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-ref'  Name.Function
-' '           Text
+'module-ref'  Name.Builtin
+' '           Text.Whitespace
 'cur'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'nested-define!' Name.Function
-' '           Text
+'nested-define!' Name.Builtin
+' '           Text.Whitespace
 'root'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'cur'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'root'        Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'elts'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'module-define!' Name.Function
-' '           Text
+'module-define!' Name.Builtin
+' '           Text.Whitespace
 'cur'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-ref'  Name.Function
-' '           Text
+'module-ref'  Name.Builtin
+' '           Text.Whitespace
 'cur'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'nested-remove!' Name.Function
-' '           Text
+'nested-remove!' Name.Builtin
+' '           Text.Whitespace
 'root'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
-'let '        Keyword
+'let'         Keyword
+' '           Text.Whitespace
 'loop'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '('           Punctuation
 'cur'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'root'        Name.Variable
 ')'           Punctuation
-'\n\t     '   Text
+'\n\t     '   Text.Whitespace
 '('           Punctuation
 'elts'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'null? '      Name.Builtin
+'null?'       Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
-'module-remove!' Name.Function
-' '           Text
+'module-remove!' Name.Builtin
+' '           Text.Whitespace
 'cur'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\t'        Text
+'\n\t'        Text.Whitespace
 '('           Punctuation
 'loop'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'module-ref'  Name.Function
-' '           Text
+'module-ref'  Name.Builtin
+' '           Text.Whitespace
 'cur'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'car '        Name.Builtin
+'car'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'cdr '        Name.Builtin
+'cdr'         Name.Builtin
+' '           Text.Whitespace
 'elts'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'local-ref'   Name.Function
-' '           Text
+'local-ref'   Name.Builtin
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'nested-ref'  Name.Function
-' '           Text
+'nested-ref'  Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'current-module' Name.Function
+'current-module' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'local-set!'  Name.Function
-' '           Text
+'local-set!'  Name.Builtin
+' '           Text.Whitespace
 'names'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'nested-set!' Name.Function
-' '           Text
+'nested-set!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'current-module' Name.Function
+'current-module' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'local-define' Name.Function
-' '           Text
+'local-define' Name.Builtin
+' '           Text.Whitespace
 'names'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'nested-define!' Name.Function
-' '           Text
+'nested-define!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'current-module' Name.Function
+'current-module' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'val'         Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'local-remove' Name.Function
-' '           Text
+'local-remove' Name.Builtin
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'nested-remove!' Name.Function
-' '           Text
+'nested-remove!' Name.Builtin
+' '           Text.Whitespace
 '('           Punctuation
-'current-module' Name.Function
+'current-module' Name.Builtin
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'names'       Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 ';;; boot-9.scm ends here' Comment.Single
-'\n'          Text
+'\n'          Text.Whitespace
index cd5c3636185bfdd912bcc263d7bdafa77b06217b..4c4188f5961fde5583816085835a3576b1ef841c 100644 (file)
@@ -6,6 +6,8 @@
 
    of a non-negative integer.
 
+   #| These comments can be nested too. |#
+
 |#
 
 (define fact
@@ -17,7 +19,9 @@
     (if (= n 0)
 
         #;(= n 1)
-
-        1       ; identity of *
+        #;(= n [1+ (eval '(n))])1
+        #;[= n (1+ [eval '[n]])];; another comment
+        #;1
+        ; identity of *
 
         (* n (fact (- n 1))))))
index 4bfa3a0dcff63e14ab1ee2e4eef7ded8879b6659..c5668fb1a350d6d36ee4ee7af9eebbe2e125a959 100644 (file)
@@ -1,52 +1,91 @@
 '#!r6rs'      Comment
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '#|'          Comment.Multiline
-'\n\n   The FACT procedure computes the factorial\n\n   of a non-negative integer.\n\n' Comment.Multiline
+'\n\n   The FACT procedure computes the factorial\n\n   of a non-negative integer.\n\n   ' Comment.Multiline
+'#|'          Comment.Multiline
+' These comments can be nested too. ' Comment.Multiline
+'|#'          Comment.Multiline
+'\n\n'        Comment.Multiline
 
 '|#'          Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
-'define '     Keyword
+'define'      Keyword
+' '           Text.Whitespace
 'fact'        Name.Variable
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 '('           Punctuation
-'lambda '     Keyword
+'lambda'      Keyword
+' '           Text.Whitespace
 '('           Punctuation
 'n'           Name.Function
 ')'           Punctuation
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 ';; base case' Comment.Single
-'\n\n    '    Text
+'\n\n    '    Text.Whitespace
 '('           Punctuation
-'if '         Keyword
+'if'          Keyword
+' '           Text.Whitespace
 '('           Punctuation
-'= '          Name.Builtin
+'='           Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
-'\n\n        ' Text
+'\n\n        ' Text.Whitespace
 '#;('         Comment
 '= n 1'       Comment
 ')'           Comment
-'\n\n        ' Text
+'\n        '  Text.Whitespace
+'#;('         Comment
+'= n '        Comment
+'['           Comment
+'1+ '         Comment
+'('           Comment
+"eval '"      Comment
+'('           Comment
+'n'           Comment
+')'           Comment
+')'           Comment
+']'           Comment
+')'           Comment
 '1'           Literal.Number.Integer
-'       '     Text
+'\n        '  Text.Whitespace
+'#;['         Comment
+'= n '        Comment
+'('           Comment
+'1+ '         Comment
+'['           Comment
+"eval '"      Comment
+'['           Comment
+'n'           Comment
+']'           Comment
+']'           Comment
+')'           Comment
+']'           Comment
+';; another comment' Comment.Single
+'\n        '  Text.Whitespace
+'#;'          Comment
+'1'           Comment
+'\n        '  Text.Whitespace
 '; identity of *' Comment.Single
-'\n\n        ' Text
+'\n\n        ' Text.Whitespace
 '('           Punctuation
-'* '          Name.Builtin
+'*'           Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fact'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
-'- '          Name.Builtin
+'-'           Name.Builtin
+' '           Text.Whitespace
 'n'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
@@ -54,4 +93,4 @@
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 3e370b2d277b644d67841fdbfd2aad8e9fb5ecd2..52ca1ec9031d9d92442bd672b59973d760aaa66d 100644 (file)
 '('           Punctuation
 'package'     Keyword
-' '           Text
+' '           Text.Whitespace
 'pygments-test' Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'some'        Literal
-' '           Text
+' '           Text.Whitespace
 'symbols'     Literal
 ']'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '\\* multiline\n   comment\n*\\' Comment.Multiline
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '\\\\ With vars as functions' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'super'       Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 'Value'       Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Succ'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'End'         Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Action'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Combine'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Zero'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'End'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'Value'       Name.Variable
 ')'           Punctuation
-'\n      '    Text
+'\n      '    Text.Whitespace
 'Zero'        Name.Variable
-'\n      '    Text
+'\n      '    Text.Whitespace
 '('           Punctuation
 'Combine'     Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Action'      Name.Function
-' '           Text
+' '           Text.Whitespace
 'Value'       Name.Variable
 ')'           Punctuation
-'\n               ' Text
+'\n               ' Text.Whitespace
 '('           Punctuation
 'super'       Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '('           Punctuation
 'Succ'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'Value'       Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Succ'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'End'         Name.Variable
 ']'           Punctuation
-'\n                      ' Text
+'\n                      ' Text.Whitespace
 'Action'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Combine'     Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Zero'        Name.Variable
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'for'         Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'Stream'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Action'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'super'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'Stream'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Action'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'do'          Name.Function
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'filter'      Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'Stream'      Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Condition'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'super'       Name.Function
-' '           Text
+' '           Text.Whitespace
 'Stream'      Name.Variable
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 '/.'          Keyword
-' '           Text
+' '           Text.Whitespace
 'Val'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'Condition'   Name.Function
-' '           Text
+' '           Text.Whitespace
 'Val'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'Val'         Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '[]'          Keyword.Pseudo
 ')'           Punctuation
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '('           Punctuation
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'append'      Name.Function
 ')'           Punctuation
-'\n         ' Text
+'\n         ' Text.Whitespace
 '[]'          Keyword.Pseudo
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'for'         Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'function'    Keyword
-' '           Text
+' '           Text.Whitespace
 'print'       Name.Function
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'filter'      Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '+'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '100'         Literal.Number.Integer
 ')'           Punctuation
 ']'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 '('           Punctuation
 '/.'          Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'integer?'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '/'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '\\\\ Typed functions' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'typed-map'   Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'F'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typed-map-h' Name.Function
-' '           Text
+' '           Text.Whitespace
 'F'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '[]'          Keyword.Pseudo
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'typed-map-h' Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '\\\\ comment' Comment.Single
-'\n       '   Text
+'\n       '   Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'list'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '_'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '[]'          Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'reverse'     Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'F'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typed-map-h' Name.Function
-' '           Text
+' '           Text.Whitespace
 'F'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '('           Punctuation
 'F'           Name.Function
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Z'           Name.Variable
 ']'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'append-string' Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '\\* comment *\\' Comment.Multiline
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'S1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'S2'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'cn'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'S1'          Name.Variable
-' '           Text
+' '           Text.Whitespace
 'S2'          Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'let'         Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n     '     Text
+'\n     '     Text.Whitespace
 'Y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '+'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'number'      Literal
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'type'        Keyword
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'number'      Literal
 ')'           Punctuation
 ')'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '\\\\ Yacc'   Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defcc'       Keyword
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<lrb>'       Literal
-'  '          Text
+'  '          Text.Whitespace
 '<st_input1>' Literal
-' '           Text
+' '           Text.Whitespace
 '<rrb>'       Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input2>' Literal
-' \n   '      Text
+' \n   '      Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'package-macro' Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'macroexpand' Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '<st_input1>' Literal
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input2>' Literal
 ')'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<lcurly>'    Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '{'           Literal
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
 ']'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<rcurly>'    Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '}'           Literal
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
 ']'           Punctuation
 ';'           Punctuation
-'    \n  '    Text
+'    \n  '    Text.Whitespace
 '<bar>'       Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'bar!'        Literal
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
 ']'           Punctuation
 ';'           Punctuation
-'  \n  '      Text
+'  \n  '      Text.Whitespace
 '<semicolon>' Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
 ']'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<colon>'     Literal
-' '           Text
+' '           Text.Whitespace
 '<equal>'     Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
 ']'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<colon>'     Literal
-' '           Text
+' '           Text.Whitespace
 '<minus>'     Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ':-'          Literal
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
 ']'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<colon>'     Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
 ']'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<comma>'     Literal
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '('           Punctuation
 'intern'      Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 ','           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<st_input>'  Literal
 ']'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '<e>'         Name.Builtin
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 '[]'          Keyword.Pseudo
 ';'           Punctuation
 ')'           Punctuation
-'\n  \n'      Text
+'\n  \n'      Text.Whitespace
 
 '('           Punctuation
 'defcc'       Keyword
-' '           Text
+' '           Text.Whitespace
 '<lsb>'       Name.Function
-'\n   '       Text
+'\n   '       Text.Whitespace
 '91'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':='          Punctuation
-' '           Text
+' '           Text.Whitespace
 'skip'        Name.Builtin
 ';'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '\\\\ Pattern matching' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'define'      Keyword
-' '           Text
+' '           Text.Whitespace
 'matches'     Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-'\n  '        Text
+'\n  '        Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'where'       Name.Builtin
-'  '          Text
+'  '          Text.Whitespace
 '('           Punctuation
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '='           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'Z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
 ')'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'true'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Pseudo
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 '@p'          Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Literal
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'c'           Literal
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '@s'          Keyword
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'a'           Literal.String
 'b'           Literal.String
 'c'           Literal.String
 '"'           Literal.String
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 '@v'          Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '<>'          Keyword.Pseudo
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Pseudo
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Rest'        Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '[]'          Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'a'           Literal
-' '           Text
+' '           Text.Whitespace
 'b'           Literal
-' '           Text
+' '           Text.Whitespace
 'c'           Literal
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Pseudo
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 '('           Punctuation
 '@p'          Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Literal
-' '           Text
+' '           Text.Whitespace
 'b'           Literal
 ')'           Punctuation
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 '['           Punctuation
 '1'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 's'           Literal.String
 't'           Literal.String
 'n'           Literal.String
 'g'           Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Pseudo
-'\n  '        Text
+'\n  '        Text.Whitespace
 '_'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Pseudo
 ')'           Punctuation
-'\n\n\n'      Text
+'\n\n\n'      Text.Whitespace
 
 '\\\\ Prolog' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defprolog'   Keyword
-' '           Text
+' '           Text.Whitespace
 'th*'         Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Hyps'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<--'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'show'        Name.Function
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Hyps'        Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'when'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Pseudo
 ')'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '_'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '<--'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'fwhen'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'typedf?'     Name.Function
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'bind'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'F'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'sigf'        Name.Function
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'call'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'F'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'mode'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'F'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Literal
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<--'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'th*'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'F'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
 ')'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'mode'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'cons'        Literal
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Literal
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'list'        Literal
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<--'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'th*'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'th*'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'list'        Literal
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
 ')'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'mode'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '@s'          Literal
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Literal
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'string'      Literal
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<--'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'th*'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Literal
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'th*'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'string'      Literal
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
 ')'           Punctuation
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '('           Punctuation
 'mode'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'lambda'      Literal
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Literal
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '-->'         Punctuation
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<--'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Name.Builtin
-' \n                                           ' Text
+' \n                                           ' Text.Whitespace
 '('           Punctuation
 'bind'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'X&&'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'placeholder' Name.Function
 ')'           Punctuation
 ')'           Punctuation
-' \n                                           ' Text
+' \n                                           ' Text.Whitespace
 '('           Punctuation
 'bind'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'Z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'ebr'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'X&&'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Y'           Name.Variable
 ')'           Punctuation
 ')'           Punctuation
-'\n                                           ' Text
+'\n                                           ' Text.Whitespace
 '('           Punctuation
 'th*'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'Z'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 '['           Punctuation
 'X&&'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '|'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
 ']'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-' \n  '       Text
+' \n  '       Text.Whitespace
 '('           Punctuation
 'mode'        Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'type'        Literal
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Literal
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
-' '           Text
+' '           Text.Whitespace
 '<--'         Punctuation
-' '           Text
+' '           Text.Whitespace
 '!'           Name.Builtin
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'unify'       Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'B'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'th*'         Name.Function
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Hyp'         Name.Variable
 ')'           Punctuation
 ';'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '\\\\ Macros' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'defmacro'    Keyword
-' '           Text
+' '           Text.Whitespace
 'log-macro'   Name.Function
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 'log'         Literal
-' '           Text
+' '           Text.Whitespace
 'N'           Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '->'          Punctuation
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'log'         Literal
-' '           Text
+' '           Text.Whitespace
 'N'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
 ']'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '\\\\ Sequent calculus' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'datatype'    Keyword
-' '           Text
+' '           Text.Whitespace
 'rank'        Keyword.Type
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 'if'          Literal
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'element?'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'ace'         Literal
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '3'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '4'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '6'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '7'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '8'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '9'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '10'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'jack'        Literal
-' '           Text
+' '           Text.Whitespace
 'queen'       Literal
-' '           Text
+' '           Text.Whitespace
 'king'        Literal
 ']'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '________'    Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'X'           Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'rank'        Keyword.Type
 ';'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'datatype'    Keyword
-' '           Text
+' '           Text.Whitespace
 'suit'        Literal
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 'if'          Literal
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'element?'    Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'Suit'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'spades'      Literal
-' '           Text
+' '           Text.Whitespace
 'hearts'      Literal
-' '           Text
+' '           Text.Whitespace
 'diamonds'    Literal
-' '           Text
+' '           Text.Whitespace
 'clubs'       Literal
 ']'           Punctuation
 ')'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '_________'   Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 'Suit'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'suit'        Keyword.Type
 ';'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'datatype'    Keyword
-' '           Text
+' '           Text.Whitespace
 'card'        Literal
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 'Rank'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'rank'        Keyword.Type
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Suit'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'suit'        Keyword.Type
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '_________________' Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 'Rank'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Suit'        Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'card'        Keyword.Type
 ';'           Punctuation
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 'Rank'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'rank,'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'Suit'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'suit'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '>>'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'P'           Name.Variable
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '_____________________' Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 'Rank'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Suit'        Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'card'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '>>'          Name.Builtin
-' '           Text
+' '           Text.Whitespace
 'P'           Name.Variable
 ';'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '('           Punctuation
 'datatype'    Keyword
-' '           Text
+' '           Text.Whitespace
 'card'        Literal
-'\n\n  '      Text
+'\n\n  '      Text.Whitespace
 'Rank'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'rank'        Keyword.Type
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Suit'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'suit'        Keyword.Type
 ';'           Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '==================' Punctuation
-'\n  '        Text
+'\n  '        Text.Whitespace
 '['           Punctuation
 'Rank'        Name.Variable
-' '           Text
+' '           Text.Whitespace
 'Suit'        Name.Variable
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 ':'           Literal
-' '           Text
+' '           Text.Whitespace
 'card'        Keyword.Type
 ';'           Punctuation
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '\\\\ String interpolation and escape sequences' Comment.Single
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '"'           Literal.String
 'a'           Literal.String
 'a'           Literal.String
 'h'           Literal.String
 '"'           Literal.String
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/snbt/main.snbt b/tests/examplefiles/snbt/main.snbt
new file mode 100644 (file)
index 0000000..760122d
--- /dev/null
@@ -0,0 +1,23 @@
+{
+    display: {
+        Name:'{"text":"My Epic Sword","color":"#8AA9FF","bold":true}',
+        Lore:['{"text":"Yep"}']
+    },
+    Unbreakable: true,
+    Damage: 20,
+    Enchantments: [
+        {id: "minecraft:sharpness", lvl:1s},
+        {id: "minecraft:sweeping", lvl:20s}
+    ],
+    custom: {
+        UUID: [I;459130179,987513928,-1425663264,-175461800],
+        LongArray: [L; 112233L, 445566L],
+        ByteArray: [B; 1b, 2b, 3b]
+        Health: 10.0f,
+        Pos: [
+            1.2d,
+            3.4d,
+            5.6d
+        ]
+    }
+}
\ No newline at end of file
diff --git a/tests/examplefiles/snbt/main.snbt.output b/tests/examplefiles/snbt/main.snbt.output
new file mode 100644 (file)
index 0000000..4eda631
--- /dev/null
@@ -0,0 +1,151 @@
+'{'           Punctuation
+'\n    '      Text.Whitespace
+'display'     Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n        '  Text.Whitespace
+'Name'        Name.Attribute
+':'           Punctuation
+"'"           Literal.String.Single
+'{"text":"My Epic Sword","color":"#8AA9FF","bold":true}' Literal.String.Single
+"'"           Literal.String.Single
+','           Punctuation
+'\n        '  Text.Whitespace
+'Lore'        Name.Attribute
+':'           Punctuation
+'['           Punctuation
+"'"           Literal.String.Single
+'{"text":"Yep"}' Literal.String.Single
+"'"           Literal.String.Single
+']'           Punctuation
+'\n    '      Text.Whitespace
+'}'           Punctuation
+','           Punctuation
+'\n    '      Text.Whitespace
+'Unbreakable' Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'true'        Name.Attribute
+','           Punctuation
+'\n    '      Text.Whitespace
+'Damage'      Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'20'          Literal.Number.Integer
+','           Punctuation
+'\n    '      Text.Whitespace
+'Enchantments' Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'\n        '  Text.Whitespace
+'{'           Punctuation
+'id'          Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'minecraft:sharpness' Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'lvl'         Name.Attribute
+':'           Punctuation
+'1s'          Literal.Number.Integer
+'}'           Punctuation
+','           Punctuation
+'\n        '  Text.Whitespace
+'{'           Punctuation
+'id'          Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'minecraft:sweeping' Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'lvl'         Name.Attribute
+':'           Punctuation
+'20s'         Literal.Number.Integer
+'}'           Punctuation
+'\n    '      Text.Whitespace
+']'           Punctuation
+','           Punctuation
+'\n    '      Text.Whitespace
+'custom'      Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n        '  Text.Whitespace
+'UUID'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'I'           Name.Attribute
+';'           Punctuation
+'459130179'   Literal.Number.Integer
+','           Punctuation
+'987513928'   Literal.Number.Integer
+','           Punctuation
+'-1425663264' Literal.Number.Integer
+','           Punctuation
+'-175461800'  Literal.Number.Integer
+']'           Punctuation
+','           Punctuation
+'\n        '  Text.Whitespace
+'LongArray'   Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'L'           Name.Attribute
+';'           Punctuation
+' '           Text.Whitespace
+'112233L'     Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'445566L'     Literal.Number.Integer
+']'           Punctuation
+','           Punctuation
+'\n        '  Text.Whitespace
+'ByteArray'   Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'B'           Name.Attribute
+';'           Punctuation
+' '           Text.Whitespace
+'1b'          Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'2b'          Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'3b'          Literal.Number.Integer
+']'           Punctuation
+'\n        '  Text.Whitespace
+'Health'      Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'10.0f'       Literal.Number.Float
+','           Punctuation
+'\n        '  Text.Whitespace
+'Pos'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'\n            ' Text.Whitespace
+'1.2d'        Literal.Number.Float
+','           Punctuation
+'\n            ' Text.Whitespace
+'3.4d'        Literal.Number.Float
+','           Punctuation
+'\n            ' Text.Whitespace
+'5.6d'        Literal.Number.Float
+'\n        '  Text.Whitespace
+']'           Punctuation
+'\n    '      Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+'\n'          Text
index c80b0b9396120c93fd35164dbd78bfa832f24d16..88381b735e8b28cdcecf5426ff577f40e852c189 100644 (file)
 '## CD ROM'   Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'cdrom:'      Literal.String
 '['           Literal.String.Other
 'Xubuntu 6.06.1 _Dapper Drake_ - Release i386 (20060807)' Literal.String.Other
 ']'           Literal.String.Other
 '/'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper'      Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper'      Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb-src'     Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper'      Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://foo.com/' Literal.String
 '$(ARCH)'     Name.Variable
 '/'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'foo'         Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '## Major bug fix updates produced after the final release of the' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## distribution.' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-updates' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb-src'     Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-updates' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 "## Uncomment the following two lines to add software from the 'universe'" Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## repository.' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## team, and may not be under a free licence. Please satisfy yourself as to' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## your rights to use the software. Also, please note that software in' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## universe WILL NOT receive any review or updates from the Ubuntu security' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## team.'    Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper'      Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb-src'     Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper'      Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 "## Uncomment the following two lines to add software from the 'backports'" Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## repository.' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## N.B. software from this repository may not have been tested as' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## extensively as that contained in the main release, although it includes' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## newer versions of some applications which may provide useful features.' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## Also, please note that software in backports WILL NOT receive any review' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## or updates from the Ubuntu security team.' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-backports' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb-src'     Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-backports' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://security.ubuntu.com/ubuntu' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-security' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb-src'     Keyword
-' '           Text
+' '           Text.Whitespace
 'http://security.ubuntu.com/ubuntu' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-security' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://security.ubuntu.com/ubuntu' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-security' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb-src'     Keyword
-' '           Text
+' '           Text.Whitespace
 'http://security.ubuntu.com/ubuntu' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-security' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '## dapper-commercial by canonical' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## currently has realplay (realplayer 10) and opera (opera 9)' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.canonical.com/ubuntu' Literal.String
-' '           Text
+' '           Text.Whitespace
 'dapper-commercial' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '## Bleeding edge wine repository for Dapper' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## only uncomment it if you need it' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## deb http://wine.budgetdedicated.com/apt dapper main' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## deb-src http://wine.budgetdedicated.com/apt dapper main' Comment
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '## skype'    Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## only uncomment it if you need it' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '## deb http://download.skype.com/linux/repos/debian/ stable non-free' Comment
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://de.archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'edgy'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://de.archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'edgy-updates' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://de.archive.ubuntu.com/ubuntu/' Literal.String
-' '           Text
+' '           Text.Whitespace
 'edgy-backports' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://security.ubuntu.com/ubuntu' Literal.String
-' '           Text
+' '           Text.Whitespace
 'edgy-security' Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://wine.budgetdedicated.com/apt' Literal.String
-' '           Text
+' '           Text.Whitespace
 'edgy'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
 ''            Text
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'deb'         Keyword
-' '           Text
+' '           Text.Whitespace
 'http://archive.czessi.net/ubuntu' Literal.String
-' '           Text
+' '           Text.Whitespace
 'edgy'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'main'        Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'restricted'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'universe'    Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'multiverse'  Keyword.Pseudo
-' '           Text
+' '           Text.Whitespace
 'i18n-de'     Keyword.Pseudo
 ''            Text
-'\n'          Text
+'\n'          Text.Whitespace
index b9369a4ef40a4041bd77f9bdf40c5f12859e5075..2fa1cf6b8e231b6d887140347839e5c9d0883830 100644 (file)
@@ -1,15 +1,15 @@
-'%define\t\t_myadminpath\t/var/www/myadmin\n' Comment.Preproc
+'%define\t\t_myadminpath\t/var/www/myadmin' Comment.Preproc
+'\n'          Text.Whitespace
 
-'%define\t\tpkgrelease\trc1\n' Comment.Preproc
+'%define\t\tpkgrelease\trc1' Comment.Preproc
+'\n'          Text.Whitespace
 
-'%define\t\tmicrorelease\t1\n' Comment.Preproc
-
-'\n'          Text
+'%define\t\tmicrorelease\t1' Comment.Preproc
+'\n\n'        Text.Whitespace
 
 'Name'        Generic.Heading
 ':'           Punctuation
-'\t'          Text
-'\t'          Text
+'\t\t'        Text.Whitespace
 'p'           Text
 'h'           Text
 'p'           Text
 'm'           Text
 'i'           Text
 'n'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Version'     Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '3'           Text
 '.'           Text
 '1'           Text
 '.'           Text
 '1'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Release'     Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 '%{pkgrelease}' Keyword.Constant
 '.'           Text
 '%{microrelease}' Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 'License'     Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 'G'           Text
 'P'           Text
 'L'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Group'       Generic.Heading
 ':'           Punctuation
-'\t'          Text
-'\t'          Text
+'\t\t'        Text.Whitespace
 'A'           Text
 'p'           Text
 'p'           Text
 'c'           Text
 'e'           Text
 's'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Source0'     Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 'h'           Text
 't'           Text
 't'           Text
 'b'           Text
 'z'           Text
 '2'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Source1'     Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 'p'           Text
 'h'           Text
 'p'           Text
 'o'           Text
 'n'           Text
 'f'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'URL'         Generic.Heading
 ':'           Punctuation
-'\t'          Text
-'\t'          Text
+'\t\t'        Text.Whitespace
 'h'           Text
 't'           Text
 't'           Text
 'i'           Text
 'n'           Text
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Requires'    Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 'm'           Text
 'y'           Text
 's'           Text
 'q'           Text
 'l'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Requires'    Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 'p'           Text
 'h'           Text
 'p'           Text
 's'           Text
 'q'           Text
 'l'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Buildarch'   Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 'n'           Text
 'o'           Text
 'a'           Text
 'r'           Text
 'c'           Text
 'h'           Text
-'\n'          Text
-
-'#BuildRoot:\t%{_tmppath}/%{name}-root\n' Comment
+'\n'          Text.Whitespace
 
-'\n'          Text
+'#BuildRoot:\t%{_tmppath}/%{name}-root' Comment
+'\n\n'        Text.Whitespace
 
 'Summary'     Generic.Heading
 ':'           Punctuation
-'\t'          Text
+'\t'          Text.Whitespace
 'p'           Text
 'h'           Text
 'p'           Text
 'm'           Text
 'i'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'w'           Text
 'e'           Text
 'b'           Text
 's'           Text
 'e'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'M'           Text
 'y'           Text
 'S'           Text
 'Q'           Text
 'L'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'd'           Text
 'm'           Text
 'i'           Text
 'o'           Text
 'n'           Text
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
 '%description' Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'p'           Text
 'h'           Text
 'm'           Text
 'i'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'a'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 'a'           Text
 'n'           Text
 'a'           Text
 'g'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
-' '           Text
+' '           Text.Whitespace
 'w'           Text
 'h'           Text
 'o'           Text
 'l'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'M'           Text
 'y'           Text
 'S'           Text
 'v'           Text
 'e'           Text
 'r'           Text
-' '           Text
+' '           Text.Whitespace
 '('           Text
 'n'           Text
 'e'           Text
 'e'           Text
 'd'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'u'           Text
 'p'           Text
 'e'           Text
 'r'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 'b'           Text
 'u'           Text
 't'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Text
 'l'           Text
 's'           Text
 'o'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'i'           Text
 'n'           Text
 'g'           Text
 'l'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'a'           Text
 't'           Text
 's'           Text
 'e'           Text
 '.'           Text
-' '           Text
+' '           Text.Whitespace
 'T'           Text
 'o'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'c'           Text
 'c'           Text
 'i'           Text
 's'           Text
 'h'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'a'           Text
 't'           Text
 't'           Text
 'e'           Text
 'r'           Text
-' '           Text
+' '           Text.Whitespace
 'y'           Text
 'o'           Text
 'u'           Text
 "'"           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'e'           Text
 'e'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'p'           Text
 'r'           Text
 'r'           Text
 'l'           Text
 'y'           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'e'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 'u'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 'M'           Text
 'y'           Text
 'S'           Text
 's'           Text
 'e'           Text
 'r'           Text
-' '           Text
+' '           Text.Whitespace
 'w'           Text
 'h'           Text
 'i'           Text
 'c'           Text
 'h'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'a'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'e'           Text
 'a'           Text
 'i'           Text
 't'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'o'           Text
 'n'           Text
 'l'           Text
 'y'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'e'           Text
 's'           Text
 'r'           Text
 'e'           Text
 'd'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'd'           Text
 'a'           Text
 's'           Text
 'e'           Text
 '.'           Text
-' '           Text
+' '           Text.Whitespace
 'I'           Text
 't'           Text
 "'"           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'u'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'o'           Text
-' '           Text
+' '           Text.Whitespace
 'y'           Text
 'o'           Text
 'u'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'o'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'o'           Text
 'o'           Text
 'k'           Text
-' '           Text
+' '           Text.Whitespace
 'u'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'p'           Text
 'p'           Text
 'a'           Text
 't'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'p'           Text
 'a'           Text
 'r'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 'i'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'M'           Text
 'y'           Text
 'S'           Text
 'Q'           Text
 'L'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'm'           Text
 'a'           Text
 'a'           Text
 'l'           Text
 '.'           Text
-' '           Text
+' '           Text.Whitespace
 'C'           Text
 'u'           Text
 'r'           Text
 't'           Text
 'l'           Text
 'y'           Text
-' '           Text
+' '           Text.Whitespace
 'p'           Text
 'h'           Text
 'p'           Text
 'm'           Text
 'i'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'a'           Text
 'n'           Text
 ':'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'r'           Text
 'e'           Text
 'a'           Text
 't'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'n'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'r'           Text
 'o'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'a'           Text
 't'           Text
 's'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'r'           Text
 'e'           Text
 't'           Text
 'e'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'o'           Text
 'p'           Text
 'y'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'r'           Text
 'o'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'n'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'l'           Text
 't'           Text
 'e'           Text
 'r'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'a'           Text
 'b'           Text
 'l'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'e'           Text
 'l'           Text
 't'           Text
 'e'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'e'           Text
 'd'           Text
 'i'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'n'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'd'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'f'           Text
 'i'           Text
 'e'           Text
 'l'           Text
 'd'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'e'           Text
 'x'           Text
 'e'           Text
 'u'           Text
 't'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'n'           Text
 'y'           Text
-' '           Text
+' '           Text.Whitespace
 'S'           Text
 'Q'           Text
 'L'           Text
 'n'           Text
 't'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'e'           Text
 'v'           Text
 'e'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 'b'           Text
 'a'           Text
 't'           Text
 'i'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 'a'           Text
 'n'           Text
 'a'           Text
 'g'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'k'           Text
 'e'           Text
 'y'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'o'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 'f'           Text
 'i'           Text
 'e'           Text
 'l'           Text
 'd'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'o'           Text
 'a'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'e'           Text
 'x'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 'f'           Text
 'i'           Text
 'l'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'i'           Text
 'n'           Text
 't'           Text
 'o'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'a'           Text
 'b'           Text
 'l'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'r'           Text
 'e'           Text
 'a'           Text
 't'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 '('           Text
 '*'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'n'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'e'           Text
 'a'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'u'           Text
 'm'           Text
 'p'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'o'           Text
 'f'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'a'           Text
 'b'           Text
 'l'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'e'           Text
 'x'           Text
 'p'           Text
 'o'           Text
 'r'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 '('           Text
 '*'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'n'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'i'           Text
 'm'           Text
 'p'           Text
 'o'           Text
 'r'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'a'           Text
 't'           Text
 'a'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'o'           Text
-' '           Text
+' '           Text.Whitespace
 'C'           Text
 'S'           Text
 'V'           Text
-' '           Text
+' '           Text.Whitespace
 'v'           Text
 'a'           Text
 'l'           Text
 'u'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'd'           Text
 'm'           Text
 't'           Text
 'e'           Text
 'r'           Text
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 'u'           Text
 'l'           Text
 'p'           Text
 'l'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'e'           Text
 'r'           Text
 'e'           Text
 'r'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'n'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'i'           Text
 'n'           Text
 'g'           Text
 'l'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'a'           Text
 't'           Text
 's'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'h'           Text
 'e'           Text
 'c'           Text
 'k'           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'e'           Text
 'f'           Text
 'i'           Text
 'a'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'i'           Text
 'n'           Text
 't'           Text
 'i'           Text
 't'           Text
 'y'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'r'           Text
 'e'           Text
 'a'           Text
 't'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'o'           Text
 'm'           Text
 'l'           Text
 'e'           Text
 'x'           Text
-' '           Text
+' '           Text.Whitespace
 'q'           Text
 'u'           Text
 'e'           Text
 'i'           Text
 'e'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'u'           Text
 't'           Text
 'l'           Text
 'l'           Text
 'y'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'o'           Text
 'n'           Text
 'i'           Text
 'n'           Text
 'g'           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'e'           Text
 'q'           Text
 'r'           Text
 'e'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'a'           Text
 'b'           Text
 'l'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'r'           Text
 'e'           Text
 'a'           Text
 't'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'P'           Text
 'D'           Text
 'F'           Text
-' '           Text
+' '           Text.Whitespace
 'g'           Text
 'r'           Text
 'a'           Text
 'i'           Text
 'c'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 'o'           Text
 'f'           Text
-' '           Text
+' '           Text.Whitespace
 'y'           Text
 'o'           Text
 'u'           Text
 'r'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'a'           Text
 't'           Text
 'a'           Text
 's'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'a'           Text
 'y'           Text
 'o'           Text
 'u'           Text
 't'           Text
-'\n'          Text
-
-' '           Text
-' '           Text
+'\n  '        Text.Whitespace
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'o'           Text
 'm'           Text
 'a'           Text
 't'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'i'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 'o'           Text
 'r'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'a'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '3'           Text
 '8'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'i'           Text
 'f'           Text
 'e'           Text
 'n'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'a'           Text
 'n'           Text
 'g'           Text
 'e'           Text
 's'           Text
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
+'\n\n\n'      Text.Whitespace
 
 '%prep'       Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%setup'      Keyword
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'q'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '%{name}'     Keyword.Constant
 '-'           Text
 '%{version}'  Keyword.Constant
 '-'           Text
 '%{pkgrelease}' Keyword.Constant
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
+'\n\n\n'      Text.Whitespace
 
 '%build'      Name.Decorator
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
+'\n\n\n'      Text.Whitespace
 
 '%install'    Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '['           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '!'           Text
 '='           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '/'           Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 ']'           Text
-' '           Text
+' '           Text.Whitespace
 '&'           Text
 '&'           Text
-' '           Text
+' '           Text.Whitespace
 '['           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 ']'           Text
-' '           Text
+' '           Text.Whitespace
 '&'           Text
 '&'           Text
-'\t'          Text
+'\t'          Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 'r'           Text
 'm'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'r'           Text
 'f'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '"'           Literal.String.Double
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'#\tCreate directories.\n' Comment
-
-'\n'          Text
+'#\tCreate directories.' Comment
+'\n\n'        Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'e'           Text
 's'           Text
 '}'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'e'           Text
 's'           Text
 '}'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'r'           Text
 't'           Text
 '}'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'o'           Text
 'n'           Text
 's'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'o'           Text
 'n'           Text
 't'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'a'           Text
 'l'           Text
 '}'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'm'           Text
 'g'           Text
 '}'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'm'           Text
 'g'           Text
 '}'           Text
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'#\tInstall files.\n' Comment
-
-'\n'          Text
+'#\tInstall files.' Comment
+'\n\n'        Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t\t'  Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'p'           Text
 'h'           Text
 'p'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '*'           Text
 '.'           Text
 '{'           Text
 'c'           Text
 'o'           Text
 '}'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'C'           Text
 'h'           Text
 'a'           Text
 'L'           Text
 'o'           Text
 'g'           Text
-' '           Text
+' '           Text.Whitespace
 'L'           Text
 'I'           Text
 'C'           Text
 'N'           Text
 'S'           Text
 'E'           Text
-' '           Text
+' '           Text.Whitespace
 'R'           Text
 'E'           Text
 'A'           Text
 'D'           Text
 'M'           Text
 'E'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'D'           Text
 'o'           Text
 'c'           Text
 't'           Text
 'm'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'o'           Text
 'c'           Text
 'c'           Text
 's'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 's'           Text
 's'           Text
 '/'           Text
 '*'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 's'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'j'           Text
 's'           Text
 '/'           Text
 '*'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 's'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'a'           Text
 'n'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'g'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 's'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'h'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'g'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'i'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t\t'  Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 's'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t\t'  Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 't'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'f'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 ','           Text
 'z'           Text
 '}'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t'    Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 't'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t\t'  Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 't'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t'    Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 's'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
 'n'           Text
 'g'           Text
 '}'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t'      Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'e'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t'      Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 's'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
 'c'           Text
 'o'           Text
 '}'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t'      Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'g'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
 'n'           Text
 'g'           Text
 '}'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t'    Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'l'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t'    Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 's'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'h'           Text
 'e'           Text
 'c'           Text
 'o'           Text
 '}'           Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t'    Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_myadminpath}' Keyword.Pseudo
 'g'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'\n'          Text
-
-'#\tCreate documentation directories.\n' Comment
-
-'\n'          Text
+'#\tCreate documentation directories.' Comment
+'\n\n'        Text.Whitespace
 
 'D'           Text
 'O'           Text
 '-'           Literal.String.Double
 '%{version}'  Keyword.Constant
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 'T'           Literal.String.Double
 '}'           Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 'n'           Text
 's'           Text
 '}'           Text
-'\n'          Text
-
-'\n'          Text
-
-'#\tInstall documentation files.\n' Comment
+'\n\n'        Text.Whitespace
 
-'\n'          Text
+'#\tInstall documentation files.' Comment
+'\n\n'        Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'R'           Text
 'E'           Text
 'L'           Text
 'E'           Text
 '-'           Text
 '*'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 '}'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'C'           Text
 'R'           Text
 'E'           Text
 'I'           Text
 'T'           Text
 'S'           Text
-' '           Text
+' '           Text.Whitespace
 'C'           Text
 'h'           Text
 'a'           Text
 'L'           Text
 'o'           Text
 'g'           Text
-' '           Text
+' '           Text.Whitespace
 'I'           Text
 'N'           Text
 'S'           Text
 'A'           Text
 'L'           Text
 'L'           Text
-' '           Text
+' '           Text.Whitespace
 'L'           Text
 'I'           Text
 'C'           Text
 'N'           Text
 'S'           Text
 'E'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 '}'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'R'           Text
 'E'           Text
 'A'           Text
 'D'           Text
 'M'           Text
 'E'           Text
-' '           Text
+' '           Text.Whitespace
 'T'           Text
 'O'           Text
 'D'           Text
 'O'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 '}'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'D'           Text
 'o'           Text
 'c'           Text
 'n'           Text
 '.'           Text
 '*'           Text
-' '           Text
+' '           Text.Whitespace
 'd'           Text
 'o'           Text
 'c'           Text
 'c'           Text
 's'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 '}'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'r'           Text
 'a'           Text
 't'           Text
 'm'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 '}'           Literal.String.Double
 '"'           Literal.String.Double
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'a'           Text
 'n'           Text
 '.'           Text
 's'           Text
 'h'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 'n'           Text
 'g'           Text
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'c'           Text
 'r'           Text
 's'           Text
 '/'           Text
 '*'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 't'           Text
 's'           Text
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'D'           Text
 'M'           Text
 'E'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 'p'           Text
 'd'           Text
 'f'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'D'           Text
 'M'           Text
 'E'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 'o'           Text
 'r'           Text
 't'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'D'           Text
 'M'           Text
 'E'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 'n'           Text
 's'           Text
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 'T'           Text
 'E'           Text
 '*'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 'n'           Text
 's'           Text
 '/'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 'i'           Text
 'b'           Text
 '.'           Text
 's'           Text
 'h'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '$'           Literal.String.Double
 '{'           Literal.String.Double
 'n'           Text
 's'           Text
 '/'           Text
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'\n'          Text
-
-'#\tInstall configuration file for Apache.\n' Comment
-
-'\n'          Text
+'#\tInstall configuration file for Apache.' Comment
+'\n\n'        Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_sysconfdir}' Keyword.Pseudo
 '.'           Literal.String.Double
 'd'           Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Text
 'n'           Text
 'a'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '%{SOURCE1}'  Keyword.Constant
 '"'           Literal.String.Double
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
-'\t'          Text
+'\t\t\t\t\t\t' Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '%{_sysconfdir}' Keyword.Pseudo
 'n'           Literal.String.Double
 'f'           Literal.String.Double
 '"'           Literal.String.Double
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'\n'          Text
-
-'#\tGenerate non-configuration file list.\n' Comment
-
-'\n'          Text
+'#\tGenerate non-configuration file list.' Comment
+'\n\n'        Text.Whitespace
 
 '('           Text
 'c'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '"'           Literal.String.Double
 ';'           Text
-' '           Text
+' '           Text.Whitespace
 'l'           Text
 's'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '.'           Text
 '"'           Literal.String.Double
 '%{_myadminpath}' Keyword.Pseudo
 '/'           Text
 '*'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 '|'           Text
-'\n'          Text
-
-'\t'          Text
+'\n\t'        Text.Whitespace
 's'           Text
 'e'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 "'/\\/config\\.inc\\.php$/d'" Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 "'s/^.//'"    Literal.String.Single
-' '           Text
+' '           Text.Whitespace
 '>'           Text
-' '           Text
+' '           Text.Whitespace
 'f'           Text
 'i'           Text
 'l'           Text
 'i'           Text
 's'           Text
 't'           Text
-'\n'          Text
-
-'\t'          Text
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
+'\n\t\n\n\n'  Text.Whitespace
 
 '%clean'      Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '['           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '!'           Text
 '='           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '/'           Literal.String.Double
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 ']'           Text
-' '           Text
+' '           Text.Whitespace
 '&'           Text
 '&'           Text
-' '           Text
+' '           Text.Whitespace
 '['           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '"'           Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 ']'           Text
-' '           Text
+' '           Text.Whitespace
 '&'           Text
 '&'           Text
-'\t'          Text
+'\t'          Text.Whitespace
 '\\'          Text
-'\n'          Text
-
-'\t'          Text
-'\t'          Text
+'\n\t\t'      Text.Whitespace
 'r'           Text
 'm'           Text
-' '           Text
+' '           Text.Whitespace
 '-'           Text
 'r'           Text
 'f'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String.Double
 '${RPM_BUILD_ROOT}' Name.Variable.Global
 '"'           Literal.String.Double
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
+'\n\n\n'      Text.Whitespace
 
 '%files'      Name.Decorator
 ' -f files.list' Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%defattr'    Keyword
 '('           Text
 '4'           Text
 '4'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'o'           Text
 'o'           Text
 't'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 'r'           Text
 'o'           Text
 'o'           Text
 't'           Text
 ','           Text
-' '           Text
+' '           Text.Whitespace
 '7'           Text
 '5'           Text
 '5'           Text
 ')'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%doc'        Keyword
-' '           Text
+' '           Text.Whitespace
 '%{_docdir}'  Keyword.Pseudo
 '/'           Text
 '%{name}'     Keyword.Constant
 '-'           Text
 '%{version}'  Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%dir'        Keyword
-' '           Text
+' '           Text.Whitespace
 '%{_myadminpath}' Keyword.Pseudo
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%attr'       Keyword
 '('           Text
 'h'           Text
 'e'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 '%config'     Keyword
 '('           Text
 'n'           Text
 'c'           Text
 'e'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 '%verify'     Keyword
 '('           Text
 'n'           Text
 'o'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'i'           Text
 'z'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 't'           Text
 'i'           Text
 'm'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 'd'           Text
 '5'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 '%{_myadminpath}' Keyword.Pseudo
 '/'           Text
 'c'           Text
 'p'           Text
 'h'           Text
 'p'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%config'     Keyword
 '('           Text
 'c'           Text
 'e'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 '%verify'     Keyword
 '('           Text
 'n'           Text
 'o'           Text
 't'           Text
-' '           Text
+' '           Text.Whitespace
 's'           Text
 'i'           Text
 'z'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 't'           Text
 'i'           Text
 'm'           Text
 'e'           Text
-' '           Text
+' '           Text.Whitespace
 'm'           Text
 'd'           Text
 '5'           Text
 ')'           Text
-' '           Text
+' '           Text.Whitespace
 '%{_sysconfdir}' Keyword.Pseudo
 '/'           Text
 'h'           Text
 'd'           Text
 '/'           Text
 '*'           Text
-'\n'          Text
-
-'\n'          Text
-
-'\n'          Text
+'\n\n\n'      Text.Whitespace
 
 '%changelog'  Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'* Thu Feb 23 2006 Patrick Monnerat <pm@datasphere.ch>\n' Generic.Subheading
+'* Thu Feb 23 2006 Patrick Monnerat <pm@datasphere.ch>' Generic.Subheading
+'\n'          Text.Whitespace
 
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'V'           Text
 'e'           Text
 'r'           Text
 'i'           Text
 'o'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '2'           Text
 '.'           Text
 '8'           Text
 '.'           Text
 '1'           Text
 '.'           Text
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'* Thu Dec 22 2005 Patrick Monnerat <patrick.monnerat@econophone.ch>\n' Generic.Subheading
+'* Thu Dec 22 2005 Patrick Monnerat <patrick.monnerat@econophone.ch>' Generic.Subheading
+'\n'          Text.Whitespace
 
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'P'           Text
 'a'           Text
 't'           Text
 'h'           Text
-' '           Text
+' '           Text.Whitespace
 '"'           Text
 'n'           Text
 'u'           Text
 'p'           Text
 'w'           Text
 '"'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'o'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'l'           Text
 'l'           Text
 'o'           Text
 'w'           Text
-' '           Text
+' '           Text.Whitespace
 't'           Text
 'r'           Text
 'y'           Text
 'i'           Text
 'n'           Text
 'g'           Text
-' '           Text
+' '           Text.Whitespace
 'c'           Text
 'o'           Text
 'n'           Text
 'i'           Text
 'o'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 'w'           Text
 'i'           Text
 't'           Text
 'h'           Text
-' '           Text
+' '           Text.Whitespace
 'n'           Text
 'u'           Text
 'l'           Text
 'l'           Text
-' '           Text
+' '           Text.Whitespace
 'p'           Text
 'a'           Text
 's'           Text
 'o'           Text
 'r'           Text
 'd'           Text
-' '           Text
+' '           Text.Whitespace
 'a'           Text
 'f'           Text
 't'           Text
 'e'           Text
 'r'           Text
-' '           Text
+' '           Text.Whitespace
 'f'           Text
 'a'           Text
 'i'           Text
 'r'           Text
 'e'           Text
 '.'           Text
-'\n'          Text
+'\n'          Text.Whitespace
 
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'V'           Text
 'e'           Text
 'r'           Text
 'i'           Text
 'o'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '2'           Text
 '.'           Text
 '7'           Text
 '.'           Text
 '1'           Text
 '.'           Text
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'\n'          Text
-
-'* Mon Aug 22 2005 Patrick Monnerat <patrick.monnerat@econophone.ch>\n' Generic.Subheading
+'* Mon Aug 22 2005 Patrick Monnerat <patrick.monnerat@econophone.ch>' Generic.Subheading
+'\n'          Text.Whitespace
 
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'V'           Text
 'e'           Text
 'r'           Text
 'i'           Text
 'o'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '2'           Text
 '.'           Text
 '6'           Text
 'l'           Text
 '1'           Text
 '.'           Text
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'* Wed Jul 21 2004 Patrick Monnerat <patrick.monnerat@econophone.ch>\n' Generic.Subheading
+'* Wed Jul 21 2004 Patrick Monnerat <patrick.monnerat@econophone.ch>' Generic.Subheading
+'\n'          Text.Whitespace
 
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'V'           Text
 'e'           Text
 'r'           Text
 'i'           Text
 'o'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '2'           Text
 '.'           Text
 '5'           Text
 'l'           Text
 '1'           Text
 '.'           Text
-'\n'          Text
-
-'\n'          Text
+'\n\n'        Text.Whitespace
 
-'* Fri Nov 22 2002 Patrick Monnerat <patrick.monnerat@econophone.ch>\n' Generic.Subheading
+'* Fri Nov 22 2002 Patrick Monnerat <patrick.monnerat@econophone.ch>' Generic.Subheading
+'\n'          Text.Whitespace
 
 '-'           Text
-' '           Text
+' '           Text.Whitespace
 'V'           Text
 'e'           Text
 'r'           Text
 'i'           Text
 'o'           Text
 'n'           Text
-' '           Text
+' '           Text.Whitespace
 '2'           Text
 '.'           Text
 '3'           Text
 'c'           Text
 '1'           Text
 '.'           Text
-'\n'          Text
+'\n'          Text.Whitespace
index 4c84c7247259b82dc801e368400c568695db3630..c0187de2c441cd18559bd69ab71dd801e11816e1 100644 (file)
@@ -7,7 +7,7 @@ f<int> fib(int n) {
 }
 
 // Function to compute factorial numbers recursively
-f<int> fac(int input) {
+inline f<int> fac(int input) {
     if input < 2 {
         return 1;
     }
@@ -18,7 +18,7 @@ f<int> fac(int input) {
 * Entry point of the program
 */
 f<int> main() {
-    short number = (short) 10;
+    short number = 10s;
     printf("Fibonacci of %d: %d\n", number, fib((int) number));
     long base = (long) number;
     base += 1;
@@ -26,4 +26,7 @@ f<int> main() {
     base >>= 3 - 1;
     base -= 1;
     printf("Faculty of %d: %d\n", base + 7, fac((int) base + 7));
+    // Sizeof usage
+    int size = sizeof('T');
+    printf("Size of char is %d, %d\n", size, true);
 }
\ No newline at end of file
index 87b2ef36adcf746138622247fb8bb4b626a8a227..cb6876de284f4b6e7ae8a095acecc4b5498eac36 100644 (file)
@@ -70,6 +70,8 @@
 
 '// Function to compute factorial numbers recursively\n' Comment.Single
 
+'inline'      Keyword
+' '           Text.Whitespace
 'f'           Keyword.Declaration
 '<'           Punctuation
 'int'         Keyword.Type
 ' '           Text.Whitespace
 '='           Punctuation
 ' '           Text.Whitespace
-'('           Punctuation
-'short'       Keyword.Type
-')'           Punctuation
-' '           Text.Whitespace
-'10'          Literal.Number.Integer
+'10s'         Literal.Number.Integer
 ';'           Punctuation
 '\n'          Text.Whitespace
 
 ';'           Punctuation
 '\n'          Text.Whitespace
 
+'    '        Text.Whitespace
+'// Sizeof usage\n' Comment.Single
+
+'    '        Text.Whitespace
+'int'         Keyword.Type
+' '           Text.Whitespace
+'size'        Name.Other
+' '           Text.Whitespace
+'='           Punctuation
+' '           Text.Whitespace
+'sizeof'      Name.Builtin
+'('           Punctuation
+"'T'"         Literal.String.Char
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'    '        Text.Whitespace
+'printf'      Name.Builtin
+'('           Punctuation
+'"Size of char is %d, %d\\n"' Literal.String
+','           Punctuation
+' '           Text.Whitespace
+'size'        Name.Other
+','           Punctuation
+' '           Text.Whitespace
+'true'        Keyword.Constant
+')'           Punctuation
+';'           Punctuation
+'\n'          Text.Whitespace
+
 '}'           Punctuation
 '\n'          Text.Whitespace
index e88a5dda8b4e0c75f41ea4612781ed4c4466fa10..c746cfcfb98dcd2f4d7e671b106572344a727216 100644 (file)
@@ -1,27 +1,27 @@
 '<%@'         Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Name
-' '           Text
+' '           Text.Whitespace
 'someName'    Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'someDefaultValue' Literal.String
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 '\n'          Text
 
 '<%'          Keyword
-' '           Text
+' '           Text.Whitespace
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'com.acme.MySnippets._' Name.Namespace
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 '\n'          Text
 
 '\n'          Text
 
 '<%='         Keyword
-' '           Text
+' '           Text.Whitespace
 'for'         Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'person'      Name
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'people'      Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 '\n  '        Text
 '<li'         Name.Tag
@@ -67,9 +67,9 @@
 '\n'          Text
 
 '<%'          Keyword
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '%>'          Keyword
 '\n'          Text
 
index 03b7b1b592e88c154d7450d53516359d37f8cc86..c7dbc2d7cd23e489b903264c152d55905c267205 100644 (file)
@@ -1,5 +1,5 @@
-/* 
-A file for testing Stan syntax highlighting. 
+/*
+A file for testing Stan syntax highlighting.
 
 It is not a real model and will not compile
 */
@@ -29,44 +29,53 @@ data {
   cov_matrix[3] garply;
   cholesky_factor_cov[3] waldo;
   cholesky_factor_corr[3] waldo2;
-  
+
   real<lower=-1,upper=1> foo1;
   real<lower=0> foo2;
   real<upper=0> foo3;
+
+  real<offset=10> foo4;
+  real<multiplier=2> foo5;
+
+  // newer array syntax
+  array[a3] int arr;
 }
 transformed data {
   real xyzzy;
   int thud;
   row_vector grault2;
   matrix qux2;
-  
+  complex z;
+
   // all floating point literals should be recognized
   // all operators should be recognized
   // paren should be recognized;
   xyzzy <- 1234.5687 + .123 - (2.7e3 / 2E-5 * 135e-5);
   // integer literal
   thud <- -12309865;
+  // imaginary literals
+  z = 3i + 3.4i + 1e-2i;
   // ./ and .* should be recognized as operators
   grault2 <- grault .* garply ./ garply;
   // ' and \ should be recognized as operators
   qux2 <- qux' \ bar;
-  
+
 }
 parameters {
   real fred;
   real plugh;
 }
-transformed parameters {    
+transformed parameters {
 }
 model {
-  // ~, <- are operators, 
+  // ~, <- are operators,
   // T may be be recognized
   // normal is a function
   fred ~ normal(0, 1) T(-0.5, 0.5);
   real tmp;
   // C++ reserved
   real public;
-  
+
   // control structures
   for (i in 1:10) {
     tmp <- tmp + 0.1;
@@ -85,7 +94,7 @@ model {
   tmp || tmp;
   tmp && tmp;
   tmp == tmp;
-  tmp != tmp;   
+  tmp != tmp;
   tmp < tmp;
   tmp <= tmp;
   tmp > tmp;
@@ -101,12 +110,13 @@ model {
   - tmp;
   + tmp;
   tmp ';
+  tmp %/% tmp;
 
   // lp__ should be highlighted
   // normal_log as a function
   lp__ <- lp__ + normal_log(plugh, 0, 1);
   increment_log_prob(normal_log(plugh, 0, 1));
-  
+
   // print statement and string literal
   print("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~@#$%^&*`'-+={}[].,;: ");
   print("Hello, world!");
@@ -114,7 +124,9 @@ model {
 
   // reject statement
   reject("I just don't like it");
-  
+
+  real var; // reserved word
+
 }
 generated quantities {
   real bar1;
index faba21030ea536b6c32569f8bd114425d61f1fda..7ad98f1b8a2933ae66ba4abff029714beb213646 100644 (file)
@@ -1,4 +1,4 @@
-'/* \nA file for testing Stan syntax highlighting. \n\nIt is not a real model and will not compile\n*/' Comment.Multiline
+'/*\nA file for testing Stan syntax highlighting.\n\nIt is not a real model and will not compile\n*/' Comment.Multiline
 '\n'          Text
 
 '# also a comment' Comment.Single
 ' '           Text
 'waldo2'      Name
 ';'           Punctuation
-'\n  \n  '    Text
+'\n\n  '      Text
 'real'        Keyword.Type
 '<'           Operator
 'lower'       Keyword
 ' '           Text
 'foo3'        Name
 ';'           Punctuation
+'\n\n  '      Text
+'real'        Keyword.Type
+'<'           Operator
+'offset'      Keyword
+'='           Punctuation
+'10'          Literal.Number.Float
+'>'           Operator
+' '           Text
+'foo4'        Name
+';'           Punctuation
+'\n  '        Text
+'real'        Keyword.Type
+'<'           Operator
+'multiplier'  Keyword
+'='           Punctuation
+'2'           Literal.Number.Float
+'>'           Operator
+' '           Text
+'foo5'        Name
+';'           Punctuation
+'\n\n  '      Text
+'// newer array syntax' Comment.Single
+'\n  '        Text
+'array'       Keyword.Type
+'['           Punctuation
+'a3'          Name
+']'           Punctuation
+' '           Text
+'int'         Keyword.Type
+' '           Text
+'arr'         Name
+';'           Punctuation
 '\n'          Text
 
 '}'           Punctuation
 ' '           Text
 'qux2'        Name
 ';'           Punctuation
-'\n  \n  '    Text
+'\n  '        Text
+'complex'     Keyword.Type
+' '           Text
+'z'           Name
+';'           Punctuation
+'\n\n  '      Text
 '// all floating point literals should be recognized' Comment.Single
 '\n  '        Text
 '// all operators should be recognized' Comment.Single
 '12309865'    Literal.Number.Float
 ';'           Punctuation
 '\n  '        Text
+'// imaginary literals' Comment.Single
+'\n  '        Text
+'z'           Name
+' '           Text
+'='           Operator
+' '           Text
+'3i'          Literal.Number.Float
+' '           Text
+'+'           Operator
+' '           Text
+'3.4i'        Literal.Number.Float
+' '           Text
+'+'           Operator
+' '           Text
+'1e-2i'       Literal.Number.Float
+';'           Punctuation
+'\n  '        Text
 '// ./ and .* should be recognized as operators' Comment.Single
 '\n  '        Text
 'grault2'     Name
 ' '           Text
 'bar'         Name
 ';'           Punctuation
-'\n  \n'      Text
+'\n\n'        Text
 
 '}'           Punctuation
 '\n'          Text
 'transformed parameters' Keyword.Namespace
 ' '           Text
 '{'           Punctuation
-'    \n'      Text
+'\n'          Text
 
 '}'           Punctuation
 '\n'          Text
 ' '           Text
 '{'           Punctuation
 '\n  '        Text
-'// ~, <- are operators, ' Comment.Single
+'// ~, <- are operators,' Comment.Single
 '\n  '        Text
 '// T may be be recognized' Comment.Single
 '\n  '        Text
 '\n  '        Text
 'real'        Keyword.Type
 ' '           Text
-'public'      Keyword.Reserved
+'public'      Name
 ';'           Punctuation
-'\n  \n  '    Text
+'\n\n  '      Text
 '// control structures' Comment.Single
 '\n  '        Text
 'for'         Keyword
 ' '           Text
 'tmp'         Name
 ';'           Punctuation
-'   \n  '     Text
+'\n  '        Text
 'tmp'         Name
 ' '           Text
 '<'           Operator
 ' '           Text
 "'"           Operator
 ';'           Punctuation
+'\n  '        Text
+'tmp'         Name
+' '           Text
+'%'           Operator
+'/'           Operator
+'%'           Operator
+' '           Text
+'tmp'         Name
+';'           Punctuation
 '\n\n  '      Text
 '// lp__ should be highlighted' Comment.Single
 '\n  '        Text
 ')'           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n  \n  '    Text
+'\n\n  '      Text
 '// print statement and string literal' Comment.Single
 '\n  '        Text
 'print'       Keyword
 '"I just don\'t like it"' Literal.String
 ')'           Punctuation
 ';'           Punctuation
-'\n  \n'      Text
+'\n\n  '      Text
+'real'        Keyword.Type
+' '           Text
+'var'         Keyword.Reserved
+';'           Punctuation
+' '           Text
+'// reserved word' Comment.Single
+'\n\n'        Text
 
 '}'           Punctuation
 '\n'          Text
diff --git a/tests/examplefiles/tal/piano.tal b/tests/examplefiles/tal/piano.tal
new file mode 100644 (file)
index 0000000..a747213
--- /dev/null
@@ -0,0 +1,559 @@
+( piano )
+
+%+  { ADD } %-   { SUB }  %*  { MUL } %/   { DIV }
+%<  { LTH } %>   { GTH }  %=  { EQU } %!   { NEQ }
+%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 }
+%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
+%!~ { NEQk NIP }
+
+%HALT { #010f DEO }
+
+%RTN  { JMP2r }
+%TOS  { #00 SWP }
+%MOD  { DUP2 / * - }
+%GTS2 { #8000 ++ SWP2 #8000 ++ << }
+%2/   { #01 SFT }
+%2//  { #01 SFT2 }
+%4//  { #02 SFT2 }
+%8//  { #03 SFT2 }
+%8**  { #30 SFT2 }
+
+%AUTO-NONE   { #00 .Screen/auto DEO }
+%AUTO-X      { #01 .Screen/auto DEO }
+%AUTO-YADDR  { #06 .Screen/auto DEO }
+
+( devices )
+
+|00 @System     &vector $2 &wst      $1 &rst    $1 &pad    $4 &r      $2 &g      $2 &b      $2 &debug  $1 &halt $1
+|10 @Console    &vector $2 &read     $1 &pad    $5 &write  $1 &error  $1
+|20 @Screen     &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
+|30 @Audio0     &vector $2 &position $2 &output $1 &pad    $3 &adsr   $2 &length $2 &addr   $2 &volume $1 &pitch $1
+|80 @Controller &vector $2 &button   $1 &key    $1
+|90 @Mouse      &vector $2 &x        $2 &y      $2 &state  $1 &pad    $3 &modx   $2 &mody   $2
+|a0 @File       &vector $2 &success  $2 &stat   $2 &delete $1 &append $1 &name   $2 &length $2 &read   $2 &write $2
+
+( variables )
+
+|0000
+
+@last-note   $1
+@octave      $1
+@pointer     
+       &x $2 &y $2
+@center      
+       &x $2 &y $2
+@adsr-view   
+       &x1 $2 &y1 $2 &x2 $2 &y2 $2
+@wave-view   
+       &x1 $2 &y1 $2 &x2 $2 &y2 $2
+@octave-view 
+       &x1 $2 &y1 $2 &x2 $2 &y2 $2
+
+( program )
+
+|0100 ( -> )
+       
+       ( theme ) 
+       #0fe5 .System/r DEO2 
+       #0fc5 .System/g DEO2 
+       #0f25 .System/b DEO2
+
+       ( vectors ) 
+       ;on-frame   .Screen/vector DEO2
+       ;on-control .Controller/vector DEO2
+       ;on-mouse   .Mouse/vector DEO2
+       ;on-message .Console/vector DEO2
+
+       ( find center )
+       .Screen/width DEI2 2// .center/x STZ2
+       .Screen/height DEI2 2// .center/y STZ2
+
+       ( place octave )
+       .center/x LDZ2 #0080 -- .octave-view/x1 STZ2
+       .center/y LDZ2 #0008 ++ .octave-view/y1 STZ2
+       .octave-view/x1 LDZ2 #0050 ++ .octave-view/x2 STZ2
+       .octave-view/y1 LDZ2 #0018 ++ .octave-view/y2 STZ2
+
+       ( place adsr )
+       .center/x LDZ2 #0020 -- .adsr-view/x1 STZ2
+       .center/y LDZ2 #0008 ++ .adsr-view/y1 STZ2
+       .adsr-view/x1 LDZ2 #00a0 ++ .adsr-view/x2 STZ2
+       .adsr-view/y1 LDZ2 #0018 ++ .adsr-view/y2 STZ2
+
+       ( place waveform )
+       .center/x LDZ2 #0080 -- .wave-view/x1 STZ2
+       .center/y LDZ2 #0020 -- .wave-view/y1 STZ2
+       .wave-view/x1 LDZ2 #0100 ++ .wave-view/x2 STZ2
+       .wave-view/y1 LDZ2 #0020 ++ .wave-view/y2 STZ2
+
+       ( default settings )
+       #ff .last-note STZ
+       #041c .Audio0/adsr DEO2
+       #dd .Audio0/volume DEO
+       ;sin-pcm .Audio0/addr DEO2
+       #0100 .Audio0/length DEO2
+
+       ( inital drawing ) 
+       ;draw-octave JSR2
+       ;draw-adsr JSR2
+       ;draw-wave JSR2
+
+BRK
+
+( this data exists to test literals
+  as well as multi-line ( and nested )
+  comments )
+@test-dat "this 20 "is 20 'a 20 "test 00
+@test-ptr :test-dat
+
+@on-frame ( -> )
+       
+       .adsr-view/y2 LDZ2 #0020 -- .Screen/y DEO2
+
+       #10 #00 
+       &loop
+               .adsr-view/x2 LDZ2 #003a -- .Screen/x DEO2
+               #10 OVR - .Audio0/output DEI #0f AND < .Screen/pixel DEO
+               .adsr-view/x2 LDZ2 #003a -- INC2 INC2 .Screen/x DEO2
+               #10 OVR - .Audio0/output DEI #04 SFT < .Screen/pixel DEO
+               .Screen/y DEI2 INC2 INC2 .Screen/y DEO2
+               INC GTHk ,&loop JCN
+       POP2
+
+BRK
+
+@on-control ( -> )
+
+       ( clear last cursor )
+       .pointer/x LDZ2 .Screen/x DEO2 
+       .pointer/y LDZ2 .Screen/y DEO2 
+       #40 .Screen/sprite DEO
+
+       .Controller/key DEI
+       [ LIT 'a ] !~ ,&no-c JCN
+               #30 .octave LDZ #0c * + ;play JSR2 &no-c
+       [ LIT 's ] !~ ,&no-d JCN
+               #32 .octave LDZ #0c * + ;play JSR2 &no-d
+       [ LIT 'd ] !~ ,&no-e JCN
+               #34 .octave LDZ #0c * + ;play JSR2 &no-e
+       [ LIT 'f ] !~ ,&no-f JCN
+               #35 .octave LDZ #0c * + ;play JSR2 &no-f
+       [ LIT 'g ] !~ ,&no-g JCN
+               #37 .octave LDZ #0c * + ;play JSR2 &no-g
+       [ LIT 'h ] !~ ,&no-a JCN
+               #39 .octave LDZ #0c * + ;play JSR2 &no-a
+       [ LIT 'j ] !~ ,&no-b JCN
+               #3b .octave LDZ #0c * + ;play JSR2 &no-b
+       [ LIT 'k ] !~ ,&no-c2 JCN
+               #3c .octave LDZ #0c * + ;play JSR2 &no-c2
+       [ #1b ] !~ ,&no-esc JCN HALT &no-esc
+       POP
+
+       ( release )
+       #00 .Controller/key DEO
+
+       .Controller/button DEI 
+       DUP #11 ! ,&cu JCN #3c ;play JSR2 &cu
+       DUP #21 ! ,&cd JCN #3d ;play JSR2 &cd
+       DUP #41 ! ,&cl JCN #3e ;play JSR2 &cl
+       DUP #81 ! ,&cr JCN #3f ;play JSR2 &cr
+       DUP #12 ! ,&au JCN #40 ;play JSR2 &au
+       DUP #22 ! ,&ad JCN #41 ;play JSR2 &ad
+       DUP #42 ! ,&al JCN #42 ;play JSR2 &al
+       DUP #82 ! ,&ar JCN #43 ;play JSR2 &ar
+       DUP #14 ! ,&su JCN #44 ;play JSR2 &su
+       DUP #24 ! ,&sd JCN #45 ;play JSR2 &sd
+       DUP #44 ! ,&sl JCN #46 ;play JSR2 &sl
+       DUP #84 ! ,&sr JCN #47 ;play JSR2 &sr
+       DUP #40 ! ,&l JCN .Audio0/addr DEI2 #0010 -- .Audio0/addr DEO2 &l
+       DUP #80 ! ,&r JCN .Audio0/addr DEI2 #0010 ++ .Audio0/addr DEO2 &r
+       POP
+
+       ;draw-octave JSR2
+       ;draw-wave JSR2
+
+BRK
+
+@on-message ( -> )
+       
+       .Console/read DEI ;play JSR2
+       ;draw-octave JSR2
+
+BRK
+
+@on-mouse ( -> )
+
+       ;draw-cursor JSR2 
+       
+       .Mouse/state DEI #00 ! #01 JCN [ BRK ]
+
+       .Mouse/x DEI2 .Mouse/y DEI2 .wave-view ;within-rect JSR2 
+               ;on-touch-wave-view JCN2
+       .Mouse/x DEI2 .Mouse/y DEI2 .adsr-view ;within-rect JSR2 
+               ;on-touch-adsr-view JCN2
+       .Mouse/x DEI2 .Mouse/y DEI2 .octave-view ;within-rect JSR2 
+               ;on-touch-octave-view JCN2
+
+BRK
+
+@on-touch-wave-view ( -> )
+
+       .Mouse/x DEI2 .wave-view/x1 LDZ2 -- .Audio0/length DEO2
+       ;draw-wave JSR2
+       ;draw-cursor JSR2 
+
+BRK
+
+@on-touch-octave-view ( -> )
+
+       .Mouse/x DEI2 .octave-view/x1 LDZ2 -- 8// NIP #09 ! ,&no-mod JCN
+               .Mouse/y DEI2 .octave-view/y1 LDZ2 -- 8// NIP 
+               [ #00 ] !~ ,&no-incr JCN
+                       .octave LDZ #03 = ,&no-incr JCN
+                       .octave LDZ INC .octave STZ &no-incr
+               [ #02 ] !~ ,&no-decr JCN
+                       .octave LDZ #ff = ,&no-decr JCN
+                       .octave LDZ #01 - .octave STZ &no-decr
+               POP
+               ( release ) #00 .Mouse/state DEO
+               ;draw-octave JSR2
+               BRK
+       &no-mod
+
+       .Mouse/x DEI2 .octave-view/x1 LDZ2 -- 8// NIP #06 > ,&no-key JCN
+               .Mouse/x DEI2 .octave-view/x1 LDZ2 -- 8// ;notes ++ LDA .octave LDZ #0c * + ;play JSR2
+               ( release ) #00 .Mouse/state DEO
+               ;draw-octave JSR2
+       &no-key
+
+BRK 
+
+@on-touch-adsr-view ( -> )
+
+       .Mouse/x DEI2 .adsr-view/x1 LDZ2 -- 8// NIP #03 /
+       [ #00 ] !~ ,&no-a JCN
+               .Audio0/adsr DEI
+               #10 .Mouse/state DEI #10 = #e0 * + +
+               .Audio0/adsr DEO &no-a
+       [ #01 ] !~ ,&no-d JCN
+               .Audio0/adsr DEI
+               DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
+               .Audio0/adsr DEO &no-d
+       [ #02 ] !~ ,&no-s JCN
+               .Audio0/adsr INC DEI
+               #10 .Mouse/state DEI #10 = #e0 * + +
+               .Audio0/adsr INC DEO &no-s
+       [ #03 ] !~ ,&no-r JCN
+               .Audio0/adsr INC DEI
+               DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
+               .Audio0/adsr INC DEO &no-r
+       [ #05 ] !~ ,&no-left JCN
+               .Audio0/volume DEI 
+               #10 .Mouse/state DEI #10 = #e0 * + +
+               .Audio0/volume DEO &no-left
+       [ #06 ] !~ ,&no-right JCN
+               .Audio0/volume DEI
+               DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
+               .Audio0/volume DEO &no-right
+       POP
+
+       ( release ) #00 .Mouse/state DEO
+       ;draw-adsr JSR2
+       ;draw-cursor JSR2 
+
+BRK
+
+@play ( pitch -- )
+       
+       DUP #0c MOD .last-note STZ 
+       .Audio0/pitch DEO
+
+RTN
+
+@draw-cursor ( -- )
+       
+       ( clear last cursor )
+       ;cursor .Screen/addr DEO2 
+       .pointer/x LDZ2 .Screen/x DEO2 
+       .pointer/y LDZ2 .Screen/y DEO2 
+       #40 .Screen/sprite DEO
+       ( record pointer positions )
+       .Mouse/x DEI2 DUP2 .pointer/x STZ2 .Screen/x DEO2 
+       .Mouse/y DEI2 DUP2 .pointer/y STZ2 .Screen/y DEO2  
+       ( colorize on state )
+       #41 [ .Mouse/state DEI #00 ! ] + .Screen/sprite DEO
+
+RTN
+
+@draw-octave ( -- )
+       
+       .octave-view/x1 LDZ2 #0048 ++ .Screen/x DEO2
+
+       ;arrow-icns .Screen/addr DEO2
+       .octave-view/y1 LDZ2 .Screen/y DEO2
+       #01 .Screen/sprite DEO
+
+       ;arrow-icns #0008 ++ .Screen/addr DEO2
+       .octave-view/y1 LDZ2 #0010 ++ .Screen/y DEO2
+       #01 .Screen/sprite DEO
+
+       ;font-hex .octave LDZ #03 + #00 SWP 8** ++ .Screen/addr DEO2
+       .octave-view/y1 LDZ2 #0008 ++ .Screen/y DEO2
+       #03 .Screen/sprite DEO
+
+       .octave-view/x1 LDZ2 .Screen/x DEO2
+       .octave-view/y1 LDZ2 .Screen/y DEO2
+       AUTO-YADDR
+       .last-note LDZ STH
+       ;keys-left-icns STHkr #00 = INC ,draw-key JSR
+       ;keys-middle-icns STHkr #02 = INC ,draw-key JSR
+       ;keys-right-icns STHkr #04 = INC ,draw-key JSR
+       ;keys-left-icns STHkr #05 = INC ,draw-key JSR
+       ;keys-middle-icns STHkr #07 = INC ,draw-key JSR
+       ;keys-middle-icns STHkr #09 = INC ,draw-key JSR
+       ;keys-right-icns STHr #0b = INC ,draw-key JSR
+       AUTO-NONE
+
+RTN
+
+@draw-key ( addr* color -- )
+               
+       STH
+       .Screen/addr DEO2
+       .Screen/y DEI2
+       STHr .Screen/sprite DEOk DEOk DEO
+       .Screen/x DEI2k #0008 ++ ROT DEO2
+       .Screen/y DEO2
+
+RTN
+
+@draw-adsr ( -- )
+       
+       ( adsr )
+       .adsr-view/x1 LDZ2 .adsr-view/y1 LDZ2
+               .Audio0/adsr DEI #04 SFT
+               ;draw-knob JSR2
+       .adsr-view/x1 LDZ2 #0018 ++ .adsr-view/y1 LDZ2
+               .Audio0/adsr DEI #0f AND
+               ;draw-knob JSR2
+       .adsr-view/x1 LDZ2 #0030 ++ .adsr-view/y1 LDZ2
+               .Audio0/adsr INC DEI #04 SFT
+               ;draw-knob JSR2
+       .adsr-view/x1 LDZ2 #0048 ++ .adsr-view/y1 LDZ2
+               .Audio0/adsr INC DEI #0f AND
+               ;draw-knob JSR2
+       ( volume )
+       .adsr-view/x2 LDZ2 #0028 -- .adsr-view/y1 LDZ2
+               .Audio0/volume DEI #04 SFT
+               ;draw-knob JSR2
+       .adsr-view/x2 LDZ2 #0010 -- .adsr-view/y1 LDZ2
+               .Audio0/volume DEI #0f AND
+               ;draw-knob JSR2
+
+RTN
+
+@draw-wave ( -- )
+       
+       ( clear )
+       .wave-view/x1 LDZ2
+       .wave-view/y1 LDZ2
+       .wave-view/x2 LDZ2 INC2
+       .wave-view/y2 LDZ2
+       #00 ;fill-rect JSR2
+
+       #01 ;draw-wave-length JSR2
+
+       .wave-view/x1 LDZ2 .Screen/x DEO2
+
+       ( waveform )
+       #ff #00 
+       &loop
+               ( dotted line )
+               DUP #01 AND ,&no-dot JCN 
+                       .wave-view/y1 LDZ2 #0010 ++ .Screen/y DEO2
+                       #03 .Screen/pixel DEO
+               &no-dot
+               #00 OVR .Audio0/addr DEI2 ++ LDA 
+               2/
+               TOS 4// .wave-view/y1 LDZ2 ++ .Screen/y DEO2
+               .Screen/x DEI2 INC2 .Screen/x DEO2
+               ( draw ) DUP 
+                       .Audio0/length DEI2 NIP > 
+                       .Audio0/length DEI2 #0100 !! #0101 == DUP ADD INC .Screen/pixel DEO
+               INC GTHk ,&loop JCN
+       POP2
+
+       ( range )
+       AUTO-X
+       .wave-view/x1 LDZ2 .Screen/x DEO2
+       .wave-view/y1 LDZ2 #0010 -- .Screen/y DEO2
+       .Audio0/addr DEI2 #02 ;draw-short JSR2
+       .wave-view/x2 LDZ2 #0020 -- .Screen/x DEO2
+       .Audio0/length DEI2 #02 ;draw-short JSR2
+       AUTO-NONE
+
+RTN
+
+@draw-wave-length ( color -- )
+       
+       STH
+       .wave-view/x1 LDZ2 .Audio0/length DEI2 ++ .Screen/x DEO2
+       .wave-view/y1 LDZ2 DUP2 #0020 ++ SWP2
+       &loop
+               DUP2 .Screen/y DEO2
+               ( draw ) STHkr .Screen/pixel DEO
+               INC2 GTH2k ,&loop JCN
+       POP2 POP2
+       POPr
+
+RTN
+
+@draw-knob ( x* y* value -- )
+
+       ( load ) STH .Screen/y DEO2  .Screen/x DEO2
+       ;knob-icns .Screen/addr DEO2 
+               ( draw ) #01 .Screen/sprite DEO
+       .Screen/x DEI2 #0008 ++ .Screen/x DEO2 
+       ;knob-icns #0008 ++ .Screen/addr DEO2 
+               ( draw ) #01 .Screen/sprite DEO
+       .Screen/y DEI2 #0008 ++ .Screen/y DEO2 
+       ;knob-icns #0018 ++ .Screen/addr DEO2 
+               ( draw ) #01 .Screen/sprite DEO
+       .Screen/x DEI2 #0008 -- .Screen/x DEO2 
+       ;knob-icns #0010 ++ .Screen/addr DEO2 
+               ( draw ) #01 .Screen/sprite DEO
+       .Screen/x DEI2 #0004 ++ .Screen/x DEO2
+       .Screen/y DEI2 #0008 ++ .Screen/y DEO2
+       ;font-hex #00 STHkr #30 SFT ++ .Screen/addr DEO2
+               ( draw ) #01 .Screen/sprite DEO
+       .Screen/x DEI2 #0004 -- #00 #00 STHkr ;knob-offsetx ++ LDA ++ .Screen/x DEO2
+       .Screen/y DEI2 #0010 -- #00 #00 STHr ;knob-offsety ++ LDA ++ .Screen/y DEO2
+       ;knob-icns #0020 ++ .Screen/addr DEO2
+               ( draw ) #05 .Screen/sprite DEO
+
+RTN
+
+@draw-short ( short* color -- )
+
+       STH 
+       SWP STHkr ,draw-byte JSR 
+       STHr 
+
+@draw-byte ( byte color -- )
+
+       STH 
+       DUP #04 SFT STHkr ,draw-hex JSR #0f AND 
+       STHr 
+
+@draw-hex ( char color -- )
+
+       SWP TOS 8** ;font-hex ++ .Screen/addr DEO2
+       .Screen/sprite DEO
+
+RTN
+
+@fill-rect ( x1* y1* x2* y2* color -- )
+       
+       ,&color STR
+       ( x1 x2 y1 y2 ) ROT2
+       &ver
+               ( save ) DUP2 .Screen/y DEO2
+               STH2 STH2 OVR2 OVR2 SWP2
+               &hor
+                       ( save ) DUP2 .Screen/x DEO2
+                       ( draw ) ,&color LDR .Screen/pixel DEO
+                       ( incr ) INC2
+                       OVR2 OVR2 GTS2 ,&hor JCN
+               POP2 POP2 STH2r STH2r
+               ( incr ) INC2
+               OVR2 OVR2 GTS2 ,&ver JCN
+       POP2 POP2 POP2 POP2
+
+RTN
+       &color $1
+
+@within-rect ( x* y* rect -- flag )
+       
+       STH
+       ( y < rect.y1 ) DUP2 STHkr #02 ADD LDZ2 LTH2 ,&skip JCN
+       ( y > rect.y2 ) DUP2 STHkr #06 ADD LDZ2 GTH2 ,&skip JCN
+       SWP2
+       ( x < rect.x1 ) DUP2 STHkr LDZ2 LTH2 ,&skip JCN
+       ( x > rect.x2 ) DUP2 STHkr #04 ADD LDZ2 GTH2 ,&skip JCN
+       POP2 POP2 POPr
+       #01 
+RTN
+       &skip
+       POP2 POP2 POPr
+       #00
+
+RTN
+
+@cursor 
+       80c0 e0f0 f8e0 1000 
+
+@arrow-icns 
+       0010 387c fe10 1000
+       0010 1010 fe7c 3810 
+
+@notes 
+       30 32 34 35
+       37 39 3b 3c
+
+@keys-left-icns 
+       7c7c 7c7c 7c7c 7c7c
+       7c7c 7c7c 7c7c 7e7f
+       7f7f 7f7f 7f7f 3e00 
+
+@keys-middle-icns 
+       1c1c 1c1c 1c1c 1c1c
+       1c1c 1c1c 1c1c 3e7f
+       7f7f 7f7f 7f7f 3e00 
+
+@keys-right-icns 
+       1f1f 1f1f 1f1f 1f1f
+       1f1f 1f1f 1f1f 3f7f
+       7f7f 7f7f 7f7f 3e00 
+
+@knob-icns 
+       0003 0c10 2020 4040
+       00c0 3008 0404 0202
+       4040 2020 100c 0300
+       0202 0404 0830 c000
+       0000 183c 3c18 0000 
+
+@knob-offsetx 
+       01 00 00 00 00 01 02 03
+       05 06 07 08 08 08 08 07 
+
+@knob-offsety 
+       07 06 05 03 02 01 00 00
+       00 00 01 02 03 05 06 07 
+
+@font-hex ( 0-F )
+       007c 8282 8282 827c 0030 1010 1010 1010
+       007c 8202 7c80 80fe 007c 8202 1c02 827c
+       000c 1424 4484 fe04 00fe 8080 7c02 827c
+       007c 8280 fc82 827c 007c 8202 1e02 0202
+       007c 8282 7c82 827c 007c 8282 7e02 827c
+       007c 8202 7e82 827e 00fc 8282 fc82 82fc
+       007c 8280 8080 827c 00fc 8282 8282 82fc
+       007c 8280 f080 827c 007c 8280 f080 8080 
+
+@sin-pcm
+       8083 8689 8c8f 9295 989b 9ea1 a4a7 aaad
+       b0b3 b6b9 bbbe c1c3 c6c9 cbce d0d2 d5d7
+       d9db dee0 e2e4 e6e7 e9eb ecee f0f1 f2f4
+       f5f6 f7f8 f9fa fbfb fcfd fdfe fefe fefe
+       fffe fefe fefe fdfd fcfb fbfa f9f8 f7f6
+       f5f4 f2f1 f0ee eceb e9e7 e6e4 e2e0 dedb
+       d9d7 d5d2 d0ce cbc9 c6c3 c1be bbb9 b6b3
+       b0ad aaa7 a4a1 9e9b 9895 928f 8c89 8683
+       807d 7a77 7471 6e6b 6865 625f 5c59 5653
+       504d 4a47 4542 3f3d 3a37 3532 302e 2b29
+       2725 2220 1e1c 1a19 1715 1412 100f 0e0c
+       0b0a 0908 0706 0505 0403 0302 0202 0202
+       0102 0202 0202 0303 0405 0506 0708 090a
+       0b0c 0e0f 1012 1415 1719 1a1c 1e20 2225
+       2729 2b2e 3032 3537 3a3d 3f42 4547 4a4d
+       5053 5659 5c5f 6265 686b 6e71 7477 7a7d
diff --git a/tests/examplefiles/tal/piano.tal.output b/tests/examplefiles/tal/piano.tal.output
new file mode 100644 (file)
index 0000000..9a7e804
--- /dev/null
@@ -0,0 +1,4465 @@
+'('           Comment.Multiline
+' piano '     Comment.Multiline
+')'           Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'%+'          Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'ADD'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%-'          Name.Decorator
+'   '         Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'SUB'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'  '          Text.Whitespace
+'%*'          Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'MUL'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%/'          Name.Decorator
+'   '         Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'DIV'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%<'          Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'LTH'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%>'          Name.Decorator
+'   '         Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'GTH'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'  '          Text.Whitespace
+'%='          Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'EQU'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%!'          Name.Decorator
+'   '         Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'NEQ'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%++'         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'ADD2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%--'         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'SUB2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%**'         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'MUL2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%//'         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'DIV2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%<<'         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'LTH2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%>>'         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'GTH2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%=='         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'EQU2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+' '           Text.Whitespace
+'%!!'         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'NEQ2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%!~'         Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'NEQk'        Keyword.Reserved
+' '           Text.Whitespace
+'NIP'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n\n'        Text.Whitespace
+
+'%HALT'       Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#010f'       Literal.Number.Hex
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n\n'        Text.Whitespace
+
+'%RTN'        Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'JMP2r'       Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%TOS'        Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'SWP'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%MOD'        Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'/'           Name
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'-'           Name
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%GTS2'       Name.Decorator
+' '           Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#8000'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'SWP2'        Keyword.Reserved
+' '           Text.Whitespace
+'#8000'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'<<'          Name
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%2/'         Name.Decorator
+'   '         Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%2//'        Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%4//'        Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#02'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%8//'        Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#03'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%8**'        Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#30'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT2'        Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n\n'        Text.Whitespace
+
+'%AUTO-NONE'  Name.Decorator
+'   '         Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/auto' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%AUTO-X'     Name.Decorator
+'      '      Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/auto' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'%AUTO-YADDR' Name.Decorator
+'  '          Text.Whitespace
+'{'           Punctuation
+' '           Text.Whitespace
+'#06'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/auto' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'}'           Punctuation
+'\n\n'        Text.Whitespace
+
+'('           Comment.Multiline
+' devices '   Comment.Multiline
+')'           Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'|00'         Keyword.Declaration
+' '           Text.Whitespace
+'@System'     Name.Function
+'     '       Text.Whitespace
+'&vector'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&wst'        Name.Label
+'      '      Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&rst'        Name.Label
+'    '        Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&pad'        Name.Label
+'    '        Text.Whitespace
+'$4'          Keyword.Declaration
+' '           Text.Whitespace
+'&r'          Name.Label
+'      '      Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&g'          Name.Label
+'      '      Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&b'          Name.Label
+'      '      Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&debug'      Name.Label
+'  '          Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&halt'       Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'|10'         Keyword.Declaration
+' '           Text.Whitespace
+'@Console'    Name.Function
+'    '        Text.Whitespace
+'&vector'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&read'       Name.Label
+'     '       Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&pad'        Name.Label
+'    '        Text.Whitespace
+'$5'          Keyword.Declaration
+' '           Text.Whitespace
+'&write'      Name.Label
+'  '          Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&error'      Name.Label
+'  '          Text.Whitespace
+'$1'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'|20'         Keyword.Declaration
+' '           Text.Whitespace
+'@Screen'     Name.Function
+'     '       Text.Whitespace
+'&vector'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&width'      Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&height'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&auto'       Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&pad'        Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&x'          Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y'          Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&addr'       Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&pixel'      Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&sprite'     Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'|30'         Keyword.Declaration
+' '           Text.Whitespace
+'@Audio0'     Name.Function
+'     '       Text.Whitespace
+'&vector'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&position'   Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&output'     Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&pad'        Name.Label
+'    '        Text.Whitespace
+'$3'          Keyword.Declaration
+' '           Text.Whitespace
+'&adsr'       Name.Label
+'   '         Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&length'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&addr'       Name.Label
+'   '         Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&volume'     Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&pitch'      Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'|80'         Keyword.Declaration
+' '           Text.Whitespace
+'@Controller' Name.Function
+' '           Text.Whitespace
+'&vector'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&button'     Name.Label
+'   '         Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&key'        Name.Label
+'    '        Text.Whitespace
+'$1'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'|90'         Keyword.Declaration
+' '           Text.Whitespace
+'@Mouse'      Name.Function
+'      '      Text.Whitespace
+'&vector'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&x'          Name.Label
+'        '    Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y'          Name.Label
+'      '      Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&state'      Name.Label
+'  '          Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&pad'        Name.Label
+'    '        Text.Whitespace
+'$3'          Keyword.Declaration
+' '           Text.Whitespace
+'&modx'       Name.Label
+'   '         Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&mody'       Name.Label
+'   '         Text.Whitespace
+'$2'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'|a0'         Keyword.Declaration
+' '           Text.Whitespace
+'@File'       Name.Function
+'       '     Text.Whitespace
+'&vector'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&success'    Name.Label
+'  '          Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&stat'       Name.Label
+'   '         Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&delete'     Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&append'     Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+' '           Text.Whitespace
+'&name'       Name.Label
+'   '         Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&length'     Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&read'       Name.Label
+'   '         Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&write'      Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+'\n\n'        Text.Whitespace
+
+'('           Comment.Multiline
+' variables ' Comment.Multiline
+')'           Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'|0000'       Keyword.Declaration
+'\n\n'        Text.Whitespace
+
+'@last-note'  Name.Function
+'   '         Text.Whitespace
+'$1'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'@octave'     Name.Function
+'      '      Text.Whitespace
+'$1'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'@pointer'    Name.Function
+'     \n\t'   Text.Whitespace
+'&x'          Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y'          Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'@center'     Name.Function
+'      \n\t'  Text.Whitespace
+'&x'          Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y'          Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'@adsr-view'  Name.Function
+'   \n\t'     Text.Whitespace
+'&x1'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y1'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&x2'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y2'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'@wave-view'  Name.Function
+'   \n\t'     Text.Whitespace
+'&x1'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y1'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&x2'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y2'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+'\n'          Text.Whitespace
+
+'@octave-view' Name.Function
+' \n\t'       Text.Whitespace
+'&x1'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y1'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&x2'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+' '           Text.Whitespace
+'&y2'         Name.Label
+' '           Text.Whitespace
+'$2'          Keyword.Declaration
+'\n\n'        Text.Whitespace
+
+'('           Comment.Multiline
+' program '   Comment.Multiline
+')'           Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'|0100'       Keyword.Declaration
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -> '        Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'('           Comment.Multiline
+' theme '     Comment.Multiline
+')'           Comment.Multiline
+' \n\t'       Text.Whitespace
+'#0fe5'       Literal.Number.Hex
+' '           Text.Whitespace
+'.System/r'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+'#0fc5'       Literal.Number.Hex
+' '           Text.Whitespace
+'.System/g'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+'#0f25'       Literal.Number.Hex
+' '           Text.Whitespace
+'.System/b'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' vectors '   Comment.Multiline
+')'           Comment.Multiline
+' \n\t'       Text.Whitespace
+';on-frame'   Name.Variable.Global
+'   '         Text.Whitespace
+'.Screen/vector' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';on-control' Name.Variable.Global
+' '           Text.Whitespace
+'.Controller/vector' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';on-mouse'   Name.Variable.Global
+'   '         Text.Whitespace
+'.Mouse/vector' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';on-message' Name.Variable.Global
+' '           Text.Whitespace
+'.Console/vector' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' find center ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.Screen/width' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'2//'         Name
+' '           Text.Whitespace
+'.center/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/height' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'2//'         Name
+' '           Text.Whitespace
+'.center/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' place octave ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.center/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0080'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.octave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.center/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.octave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.octave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0050'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.octave-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.octave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0018'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.octave-view/y2' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' place adsr ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.center/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0020'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.adsr-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.center/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.adsr-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.adsr-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#00a0'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.adsr-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.adsr-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0018'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.adsr-view/y2' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' place waveform ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.center/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0080'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.wave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.center/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0020'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.wave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0100'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.wave-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0020'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.wave-view/y2' Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' default settings ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'#ff'         Literal.Number.Hex
+' '           Text.Whitespace
+'.last-note'  Name.Variable.Magic
+' '           Text.Whitespace
+'STZ'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#041c'       Literal.Number.Hex
+' '           Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#dd'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Audio0/volume' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';sin-pcm'    Name.Variable.Global
+' '           Text.Whitespace
+'.Audio0/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#0100'       Literal.Number.Hex
+' '           Text.Whitespace
+'.Audio0/length' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' inital drawing ' Comment.Multiline
+')'           Comment.Multiline
+' \n\t'       Text.Whitespace
+';draw-octave' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';draw-adsr'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';draw-wave'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'BRK'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'('           Comment.Multiline
+' this data exists to test literals\n  as well as multi-line ' Comment.Multiline
+'('           Comment.Multiline
+' and nested ' Comment.Multiline
+')'           Comment.Multiline
+'\n  comments ' Comment.Multiline
+')'           Comment.Multiline
+'\n'          Text.Whitespace
+
+'@test-dat'   Name.Function
+' '           Text.Whitespace
+'"this'       Literal.String
+' '           Text.Whitespace
+'20'          Literal
+' '           Text.Whitespace
+'"is'         Literal.String
+' '           Text.Whitespace
+'20'          Literal
+' '           Text.Whitespace
+"'a"          Literal.String.Char
+' '           Text.Whitespace
+'20'          Literal
+' '           Text.Whitespace
+'"test'       Literal.String
+' '           Text.Whitespace
+'00'          Literal
+'\n'          Text.Whitespace
+
+'@test-ptr'   Name.Function
+' '           Text.Whitespace
+':test-dat'   Literal
+'\n\n'        Text.Whitespace
+
+'@on-frame'   Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -> '        Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'.adsr-view/y2' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0020'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' \n\t'       Text.Whitespace
+'&loop'       Name.Label
+'\n\t\t'      Text.Whitespace
+'.adsr-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#003a'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'OVR'         Keyword.Reserved
+' '           Text.Whitespace
+'-'           Name
+' '           Text.Whitespace
+'.Audio0/output' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#0f'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' '           Text.Whitespace
+'<'           Name
+' '           Text.Whitespace
+'.Screen/pixel' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.adsr-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#003a'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'INC2'        Keyword.Reserved
+' '           Text.Whitespace
+'INC2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'OVR'         Keyword.Reserved
+' '           Text.Whitespace
+'-'           Name
+' '           Text.Whitespace
+'.Audio0/output' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#04'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT'         Keyword.Reserved
+' '           Text.Whitespace
+'<'           Name
+' '           Text.Whitespace
+'.Screen/pixel' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'INC2'        Keyword.Reserved
+' '           Text.Whitespace
+'INC2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'GTHk'        Keyword.Reserved
+' '           Text.Whitespace
+',&loop'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'POP2'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'BRK'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'@on-control' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -> '        Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' clear last cursor ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.pointer/x'  Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+'.pointer/y'  Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+'#40'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'.Controller/key' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'LIT'         Keyword.Reserved
+' '           Text.Whitespace
+"'a"          Literal.String.Char
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-c'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#30'         Literal.Number.Hex
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&no-c'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'LIT'         Keyword.Reserved
+' '           Text.Whitespace
+"'s"          Literal.String.Char
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-d'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#32'         Literal.Number.Hex
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&no-d'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'LIT'         Keyword.Reserved
+' '           Text.Whitespace
+"'d"          Literal.String.Char
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-e'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#34'         Literal.Number.Hex
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&no-e'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'LIT'         Keyword.Reserved
+' '           Text.Whitespace
+"'f"          Literal.String.Char
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-f'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#35'         Literal.Number.Hex
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&no-f'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'LIT'         Keyword.Reserved
+' '           Text.Whitespace
+"'g"          Literal.String.Char
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-g'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#37'         Literal.Number.Hex
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&no-g'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'LIT'         Keyword.Reserved
+' '           Text.Whitespace
+"'h"          Literal.String.Char
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-a'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#39'         Literal.Number.Hex
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&no-a'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'LIT'         Keyword.Reserved
+' '           Text.Whitespace
+"'j"          Literal.String.Char
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-b'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#3b'         Literal.Number.Hex
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&no-b'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'LIT'         Keyword.Reserved
+' '           Text.Whitespace
+"'k"          Literal.String.Char
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-c2'     Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#3c'         Literal.Number.Hex
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&no-c2'      Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#1b'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-esc'    Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'HALT'        Name
+' '           Text.Whitespace
+'&no-esc'     Name.Label
+'\n\t'        Text.Whitespace
+'POP'         Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' release '   Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Controller/key' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'.Controller/button' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' \n\t'       Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#11'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&cu'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#3c'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&cu'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#21'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&cd'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#3d'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&cd'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#41'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&cl'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#3e'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&cl'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#81'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&cr'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#3f'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&cr'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#12'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&au'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#40'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&au'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#22'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&ad'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#41'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&ad'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#42'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&al'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#42'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&al'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#82'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&ar'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#43'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&ar'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#14'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&su'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#44'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&su'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#24'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&sd'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#45'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&sd'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#44'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&sl'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#46'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&sl'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#84'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&sr'        Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'#47'         Literal.Number.Hex
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' '           Text.Whitespace
+'&sr'         Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#40'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&l'         Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'.Audio0/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0010'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.Audio0/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' '           Text.Whitespace
+'&l'          Name.Label
+'\n\t'        Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#80'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&r'         Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'.Audio0/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0010'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Audio0/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' '           Text.Whitespace
+'&r'          Name.Label
+'\n\t'        Text.Whitespace
+'POP'         Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+';draw-octave' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';draw-wave'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'BRK'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'@on-message' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -> '        Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'.Console/read' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';draw-octave' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'BRK'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'@on-mouse'   Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -> '        Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+';draw-cursor' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' \n\t\n\t'   Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' '           Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'BRK'         Keyword.Reserved
+' '           Text.Whitespace
+']'           Punctuation
+'\n\n\t'      Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Mouse/y'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.wave-view'  Name.Variable.Magic
+' '           Text.Whitespace
+';within-rect' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+';on-touch-wave-view' Name.Variable.Global
+' '           Text.Whitespace
+'JCN2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Mouse/y'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.adsr-view'  Name.Variable.Magic
+' '           Text.Whitespace
+';within-rect' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+';on-touch-adsr-view' Name.Variable.Global
+' '           Text.Whitespace
+'JCN2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Mouse/y'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.octave-view' Name.Variable.Magic
+' '           Text.Whitespace
+';within-rect' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+';on-touch-octave-view' Name.Variable.Global
+' '           Text.Whitespace
+'JCN2'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'BRK'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'@on-touch-wave-view' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -> '        Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.wave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.Audio0/length' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';draw-wave'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';draw-cursor' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' \n\n'       Text.Whitespace
+
+'BRK'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'@on-touch-octave-view' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -> '        Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.octave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'8//'         Name
+' '           Text.Whitespace
+'NIP'         Keyword.Reserved
+' '           Text.Whitespace
+'#09'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+',&no-mod'    Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Mouse/y'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.octave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'8//'         Name
+' '           Text.Whitespace
+'NIP'         Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-incr'   Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t\t'    Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#03'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+',&no-incr'   Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t\t'    Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'STZ'         Keyword.Reserved
+' '           Text.Whitespace
+'&no-incr'    Name.Label
+'\n\t\t'      Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#02'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-decr'   Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t\t'    Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#ff'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+',&no-decr'   Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t\t'    Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'-'           Name
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'STZ'         Keyword.Reserved
+' '           Text.Whitespace
+'&no-decr'    Name.Label
+'\n\t\t'      Text.Whitespace
+'POP'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' release '   Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+';draw-octave' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'BRK'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'&no-mod'     Name.Label
+'\n\n\t'      Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.octave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'8//'         Name
+' '           Text.Whitespace
+'NIP'         Keyword.Reserved
+' '           Text.Whitespace
+'#06'         Literal.Number.Hex
+' '           Text.Whitespace
+'>'           Name
+' '           Text.Whitespace
+',&no-key'    Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.octave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'8//'         Name
+' '           Text.Whitespace
+';notes'      Name.Variable.Global
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'LDA'         Keyword.Reserved
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+';play'       Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' release '   Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+';draw-octave' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'&no-key'     Name.Label
+'\n\n'        Text.Whitespace
+
+'BRK'         Keyword.Reserved
+' \n\n'       Text.Whitespace
+
+'@on-touch-adsr-view' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -> '        Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'.adsr-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'8//'         Name
+' '           Text.Whitespace
+'NIP'         Keyword.Reserved
+' '           Text.Whitespace
+'#03'         Literal.Number.Hex
+' '           Text.Whitespace
+'/'           Name
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-a'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'#e0'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'+'           Name
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'&no-a'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-d'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#f0'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' '           Text.Whitespace
+'STH'         Keyword.Reserved
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'#0e'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'#0f'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' '           Text.Whitespace
+'STHr'        Keyword.Reserved
+' '           Text.Whitespace
+'+'           Name
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'&no-d'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#02'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-s'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'#e0'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'+'           Name
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'&no-s'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#03'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-r'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#f0'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' '           Text.Whitespace
+'STH'         Keyword.Reserved
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'#0e'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'#0f'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' '           Text.Whitespace
+'STHr'        Keyword.Reserved
+' '           Text.Whitespace
+'+'           Name
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'&no-r'       Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#05'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-left'   Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/volume' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'#e0'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'+'           Name
+'\n\t\t'      Text.Whitespace
+'.Audio0/volume' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'&no-left'    Name.Label
+'\n\t'        Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'#06'         Literal.Number.Hex
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'!~'          Name
+' '           Text.Whitespace
+',&no-right'  Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/volume' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#f0'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' '           Text.Whitespace
+'STH'         Keyword.Reserved
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#10'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'#0e'         Literal.Number.Hex
+' '           Text.Whitespace
+'*'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'#0f'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' '           Text.Whitespace
+'STHr'        Keyword.Reserved
+' '           Text.Whitespace
+'+'           Name
+'\n\t\t'      Text.Whitespace
+'.Audio0/volume' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+' '           Text.Whitespace
+'&no-right'   Name.Label
+'\n\t'        Text.Whitespace
+'POP'         Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' release '   Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';draw-adsr'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';draw-cursor' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+' \n\n'       Text.Whitespace
+
+'BRK'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'@play'       Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' pitch -- '  Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#0c'         Literal.Number.Hex
+' '           Text.Whitespace
+'MOD'         Name
+' '           Text.Whitespace
+'.last-note'  Name.Variable.Magic
+' '           Text.Whitespace
+'STZ'         Keyword.Reserved
+' \n\t'       Text.Whitespace
+'.Audio0/pitch' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@draw-cursor' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -- '        Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'('           Comment.Multiline
+' clear last cursor ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+';cursor'     Name.Variable.Global
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+'.pointer/x'  Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+'.pointer/y'  Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+'#40'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'('           Comment.Multiline
+' record pointer positions ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.Mouse/x'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'.pointer/x'  Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+'.Mouse/y'    Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'.pointer/y'  Name.Variable.Magic
+' '           Text.Whitespace
+'STZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'  \n\t'      Text.Whitespace
+'('           Comment.Multiline
+' colorize on state ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'#41'         Literal.Number.Hex
+' '           Text.Whitespace
+'['           Punctuation
+' '           Text.Whitespace
+'.Mouse/state' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'!'           Name
+' '           Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@draw-octave' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -- '        Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'.octave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0048'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+';arrow-icns' Name.Variable.Global
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.octave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+';arrow-icns' Name.Variable.Global
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.octave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0010'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+';font-hex'   Name.Variable.Global
+' '           Text.Whitespace
+'.octave'     Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'#03'         Literal.Number.Hex
+' '           Text.Whitespace
+'+'           Name
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'SWP'         Keyword.Reserved
+' '           Text.Whitespace
+'8**'         Name
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.octave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#03'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'.octave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.octave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'AUTO-YADDR'  Name
+'\n\t'        Text.Whitespace
+'.last-note'  Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ'         Keyword.Reserved
+' '           Text.Whitespace
+'STH'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';keys-left-icns' Name.Variable.Global
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+',draw-key'   Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';keys-middle-icns' Name.Variable.Global
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#02'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+',draw-key'   Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';keys-right-icns' Name.Variable.Global
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#04'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+',draw-key'   Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';keys-left-icns' Name.Variable.Global
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#05'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+',draw-key'   Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';keys-middle-icns' Name.Variable.Global
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#07'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+',draw-key'   Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';keys-middle-icns' Name.Variable.Global
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#09'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+',draw-key'   Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+';keys-right-icns' Name.Variable.Global
+' '           Text.Whitespace
+'STHr'        Keyword.Reserved
+' '           Text.Whitespace
+'#0b'         Literal.Number.Hex
+' '           Text.Whitespace
+'='           Name
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+',draw-key'   Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'AUTO-NONE'   Name
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@draw-key'   Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' addr* color -- ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t\t\n\t'  Text.Whitespace
+'STH'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'STHr'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEOk'        Keyword.Reserved
+' '           Text.Whitespace
+'DEOk'        Keyword.Reserved
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2k'       Keyword.Reserved
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'ROT'         Keyword.Reserved
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@draw-adsr'  Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -- '        Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'('           Comment.Multiline
+' adsr '      Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.adsr-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.adsr-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#04'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+';draw-knob'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.adsr-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0018'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.adsr-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#0f'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+';draw-knob'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.adsr-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0030'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.adsr-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#04'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+';draw-knob'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.adsr-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0048'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.adsr-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/adsr' Name.Variable.Magic
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#0f'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+';draw-knob'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'('           Comment.Multiline
+' volume '    Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.adsr-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0028'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.adsr-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/volume' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#04'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+';draw-knob'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.adsr-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0010'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.adsr-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Audio0/volume' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI'         Keyword.Reserved
+' '           Text.Whitespace
+'#0f'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+';draw-knob'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@draw-wave'  Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' -- '        Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'('           Comment.Multiline
+' clear '     Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'.wave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'INC2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/y2' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+';fill-rect'  Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+';draw-wave-length' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'.wave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' waveform '  Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'#ff'         Literal.Number.Hex
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' \n\t'       Text.Whitespace
+'&loop'       Name.Label
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' dotted line ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t\t'      Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' '           Text.Whitespace
+',&no-dot'    Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+' \n\t\t\t'   Text.Whitespace
+'.wave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0010'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t\t'    Text.Whitespace
+'#03'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/pixel' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'&no-dot'     Name.Label
+'\n\t\t'      Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'OVR'         Keyword.Reserved
+' '           Text.Whitespace
+'.Audio0/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'LDA'         Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+'2/'          Name
+'\n\t\t'      Text.Whitespace
+'TOS'         Name
+' '           Text.Whitespace
+'4//'         Name
+' '           Text.Whitespace
+'.wave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'INC2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'DUP'         Keyword.Reserved
+' \n\t\t\t'   Text.Whitespace
+'.Audio0/length' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'NIP'         Keyword.Reserved
+' '           Text.Whitespace
+'>'           Name
+' \n\t\t\t'   Text.Whitespace
+'.Audio0/length' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0100'       Literal.Number.Hex
+' '           Text.Whitespace
+'!!'          Name
+' '           Text.Whitespace
+'#0101'       Literal.Number.Hex
+' '           Text.Whitespace
+'=='          Name
+' '           Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'ADD'         Keyword.Reserved
+' '           Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/pixel' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'INC'         Keyword.Reserved
+' '           Text.Whitespace
+'GTHk'        Keyword.Reserved
+' '           Text.Whitespace
+',&loop'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'POP2'        Keyword.Reserved
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' range '     Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'AUTO-X'      Name
+'\n\t'        Text.Whitespace
+'.wave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0010'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Audio0/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#02'         Literal.Number.Hex
+' '           Text.Whitespace
+';draw-short' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/x2' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0020'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Audio0/length' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#02'         Literal.Number.Hex
+' '           Text.Whitespace
+';draw-short' Name.Variable.Global
+' '           Text.Whitespace
+'JSR2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'AUTO-NONE'   Name
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@draw-wave-length' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' color -- '  Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'STH'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/x1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Audio0/length' Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.wave-view/y1' Name.Variable.Magic
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0020'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'SWP2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'&loop'       Name.Label
+'\n\t\t'      Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/pixel' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'INC2'        Keyword.Reserved
+' '           Text.Whitespace
+'GTH2k'       Keyword.Reserved
+' '           Text.Whitespace
+',&loop'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POP2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'POPr'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@draw-knob'  Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' x* y* value -- ' Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+'('           Comment.Multiline
+' load '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'STH'         Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'  '          Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';knob-icns'  Name.Variable.Global
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+';knob-icns'  Name.Variable.Global
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+';knob-icns'  Name.Variable.Global
+' '           Text.Whitespace
+'#0018'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t'       Text.Whitespace
+';knob-icns'  Name.Variable.Global
+' '           Text.Whitespace
+'#0010'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+' \n\t\t'     Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0004'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0008'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';font-hex'   Name.Variable.Global
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#30'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT'         Keyword.Reserved
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#01'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0004'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+';knob-offsetx' Name.Variable.Global
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'LDA'         Keyword.Reserved
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEI2'        Keyword.Reserved
+' '           Text.Whitespace
+'#0010'       Literal.Number.Hex
+' '           Text.Whitespace
+'--'          Name
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'#00'         Literal.Number.Hex
+' '           Text.Whitespace
+'STHr'        Keyword.Reserved
+' '           Text.Whitespace
+';knob-offsety' Name.Variable.Global
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'LDA'         Keyword.Reserved
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+';knob-icns'  Name.Variable.Global
+' '           Text.Whitespace
+'#0020'       Literal.Number.Hex
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'#05'         Literal.Number.Hex
+' '           Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@draw-short' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' short* color -- ' Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+'STH'         Keyword.Reserved
+' \n\t'       Text.Whitespace
+'SWP'         Keyword.Reserved
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+',draw-byte'  Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+' \n\t'       Text.Whitespace
+'STHr'        Keyword.Reserved
+' \n\n'       Text.Whitespace
+
+'@draw-byte'  Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' byte color -- ' Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+'STH'         Keyword.Reserved
+' \n\t'       Text.Whitespace
+'DUP'         Keyword.Reserved
+' '           Text.Whitespace
+'#04'         Literal.Number.Hex
+' '           Text.Whitespace
+'SFT'         Keyword.Reserved
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+',draw-hex'   Name.Variable.Instance
+' '           Text.Whitespace
+'JSR'         Keyword.Reserved
+' '           Text.Whitespace
+'#0f'         Literal.Number.Hex
+' '           Text.Whitespace
+'AND'         Keyword.Reserved
+' \n\t'       Text.Whitespace
+'STHr'        Keyword.Reserved
+' \n\n'       Text.Whitespace
+
+'@draw-hex'   Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' char color -- ' Comment.Multiline
+')'           Comment.Multiline
+'\n\n\t'      Text.Whitespace
+'SWP'         Keyword.Reserved
+' '           Text.Whitespace
+'TOS'         Name
+' '           Text.Whitespace
+'8**'         Name
+' '           Text.Whitespace
+';font-hex'   Name.Variable.Global
+' '           Text.Whitespace
+'++'          Name
+' '           Text.Whitespace
+'.Screen/addr' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'.Screen/sprite' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@fill-rect'  Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' x1* y1* x2* y2* color -- ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+',&color'     Name.Variable.Instance
+' '           Text.Whitespace
+'STR'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'('           Comment.Multiline
+' x1 x2 y1 y2 ' Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'ROT2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'&ver'        Name.Label
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' save '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/y'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'STH2'        Keyword.Reserved
+' '           Text.Whitespace
+'STH2'        Keyword.Reserved
+' '           Text.Whitespace
+'OVR2'        Keyword.Reserved
+' '           Text.Whitespace
+'OVR2'        Keyword.Reserved
+' '           Text.Whitespace
+'SWP2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'&hor'        Name.Label
+'\n\t\t\t'    Text.Whitespace
+'('           Comment.Multiline
+' save '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/x'   Name.Variable.Magic
+' '           Text.Whitespace
+'DEO2'        Keyword.Reserved
+'\n\t\t\t'    Text.Whitespace
+'('           Comment.Multiline
+' draw '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+',&color'     Name.Variable.Instance
+' '           Text.Whitespace
+'LDR'         Keyword.Reserved
+' '           Text.Whitespace
+'.Screen/pixel' Name.Variable.Magic
+' '           Text.Whitespace
+'DEO'         Keyword.Reserved
+'\n\t\t\t'    Text.Whitespace
+'('           Comment.Multiline
+' incr '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'INC2'        Keyword.Reserved
+'\n\t\t\t'    Text.Whitespace
+'OVR2'        Keyword.Reserved
+' '           Text.Whitespace
+'OVR2'        Keyword.Reserved
+' '           Text.Whitespace
+'GTS2'        Name
+' '           Text.Whitespace
+',&hor'       Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'STH2r'       Keyword.Reserved
+' '           Text.Whitespace
+'STH2r'       Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'('           Comment.Multiline
+' incr '      Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'INC2'        Keyword.Reserved
+'\n\t\t'      Text.Whitespace
+'OVR2'        Keyword.Reserved
+' '           Text.Whitespace
+'OVR2'        Keyword.Reserved
+' '           Text.Whitespace
+'GTS2'        Name
+' '           Text.Whitespace
+',&ver'       Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POP2'        Keyword.Reserved
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\t'        Text.Whitespace
+'&color'      Name.Label
+' '           Text.Whitespace
+'$1'          Keyword.Declaration
+'\n\n'        Text.Whitespace
+
+'@within-rect' Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' x* y* rect -- flag ' Comment.Multiline
+')'           Comment.Multiline
+'\n\t\n\t'    Text.Whitespace
+'STH'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'('           Comment.Multiline
+' y < rect.y1 ' Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#02'         Literal.Number.Hex
+' '           Text.Whitespace
+'ADD'         Keyword.Reserved
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'LTH2'        Keyword.Reserved
+' '           Text.Whitespace
+',&skip'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'('           Comment.Multiline
+' y > rect.y2 ' Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#06'         Literal.Number.Hex
+' '           Text.Whitespace
+'ADD'         Keyword.Reserved
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'GTH2'        Keyword.Reserved
+' '           Text.Whitespace
+',&skip'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'SWP2'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'('           Comment.Multiline
+' x < rect.x1 ' Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'LTH2'        Keyword.Reserved
+' '           Text.Whitespace
+',&skip'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'('           Comment.Multiline
+' x > rect.x2 ' Comment.Multiline
+')'           Comment.Multiline
+' '           Text.Whitespace
+'DUP2'        Keyword.Reserved
+' '           Text.Whitespace
+'STHkr'       Keyword.Reserved
+' '           Text.Whitespace
+'#04'         Literal.Number.Hex
+' '           Text.Whitespace
+'ADD'         Keyword.Reserved
+' '           Text.Whitespace
+'LDZ2'        Keyword.Reserved
+' '           Text.Whitespace
+'GTH2'        Keyword.Reserved
+' '           Text.Whitespace
+',&skip'      Name.Variable.Instance
+' '           Text.Whitespace
+'JCN'         Keyword.Reserved
+'\n\t'        Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POPr'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#01'         Literal.Number.Hex
+' \n'         Text.Whitespace
+
+'RTN'         Name
+'\n\t'        Text.Whitespace
+'&skip'       Name.Label
+'\n\t'        Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POP2'        Keyword.Reserved
+' '           Text.Whitespace
+'POPr'        Keyword.Reserved
+'\n\t'        Text.Whitespace
+'#00'         Literal.Number.Hex
+'\n\n'        Text.Whitespace
+
+'RTN'         Name
+'\n\n'        Text.Whitespace
+
+'@cursor'     Name.Function
+' \n\t'       Text.Whitespace
+'80c0'        Literal
+' '           Text.Whitespace
+'e0f0'        Literal
+' '           Text.Whitespace
+'f8e0'        Literal
+' '           Text.Whitespace
+'1000'        Literal
+' \n\n'       Text.Whitespace
+
+'@arrow-icns' Name.Function
+' \n\t'       Text.Whitespace
+'0010'        Literal
+' '           Text.Whitespace
+'387c'        Literal
+' '           Text.Whitespace
+'fe10'        Literal
+' '           Text.Whitespace
+'1000'        Literal
+'\n\t'        Text.Whitespace
+'0010'        Literal
+' '           Text.Whitespace
+'1010'        Literal
+' '           Text.Whitespace
+'fe7c'        Literal
+' '           Text.Whitespace
+'3810'        Literal
+' \n\n'       Text.Whitespace
+
+'@notes'      Name.Function
+' \n\t'       Text.Whitespace
+'30'          Literal
+' '           Text.Whitespace
+'32'          Literal
+' '           Text.Whitespace
+'34'          Literal
+' '           Text.Whitespace
+'35'          Literal
+'\n\t'        Text.Whitespace
+'37'          Literal
+' '           Text.Whitespace
+'39'          Literal
+' '           Text.Whitespace
+'3b'          Literal
+' '           Text.Whitespace
+'3c'          Literal
+'\n\n'        Text.Whitespace
+
+'@keys-left-icns' Name.Function
+' \n\t'       Text.Whitespace
+'7c7c'        Literal
+' '           Text.Whitespace
+'7c7c'        Literal
+' '           Text.Whitespace
+'7c7c'        Literal
+' '           Text.Whitespace
+'7c7c'        Literal
+'\n\t'        Text.Whitespace
+'7c7c'        Literal
+' '           Text.Whitespace
+'7c7c'        Literal
+' '           Text.Whitespace
+'7c7c'        Literal
+' '           Text.Whitespace
+'7e7f'        Literal
+'\n\t'        Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'3e00'        Literal
+' \n\n'       Text.Whitespace
+
+'@keys-middle-icns' Name.Function
+' \n\t'       Text.Whitespace
+'1c1c'        Literal
+' '           Text.Whitespace
+'1c1c'        Literal
+' '           Text.Whitespace
+'1c1c'        Literal
+' '           Text.Whitespace
+'1c1c'        Literal
+'\n\t'        Text.Whitespace
+'1c1c'        Literal
+' '           Text.Whitespace
+'1c1c'        Literal
+' '           Text.Whitespace
+'1c1c'        Literal
+' '           Text.Whitespace
+'3e7f'        Literal
+'\n\t'        Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'3e00'        Literal
+' \n\n'       Text.Whitespace
+
+'@keys-right-icns' Name.Function
+' \n\t'       Text.Whitespace
+'1f1f'        Literal
+' '           Text.Whitespace
+'1f1f'        Literal
+' '           Text.Whitespace
+'1f1f'        Literal
+' '           Text.Whitespace
+'1f1f'        Literal
+'\n\t'        Text.Whitespace
+'1f1f'        Literal
+' '           Text.Whitespace
+'1f1f'        Literal
+' '           Text.Whitespace
+'1f1f'        Literal
+' '           Text.Whitespace
+'3f7f'        Literal
+'\n\t'        Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'7f7f'        Literal
+' '           Text.Whitespace
+'3e00'        Literal
+' \n\n'       Text.Whitespace
+
+'@knob-icns'  Name.Function
+' \n\t'       Text.Whitespace
+'0003'        Literal
+' '           Text.Whitespace
+'0c10'        Literal
+' '           Text.Whitespace
+'2020'        Literal
+' '           Text.Whitespace
+'4040'        Literal
+'\n\t'        Text.Whitespace
+'00c0'        Literal
+' '           Text.Whitespace
+'3008'        Literal
+' '           Text.Whitespace
+'0404'        Literal
+' '           Text.Whitespace
+'0202'        Literal
+'\n\t'        Text.Whitespace
+'4040'        Literal
+' '           Text.Whitespace
+'2020'        Literal
+' '           Text.Whitespace
+'100c'        Literal
+' '           Text.Whitespace
+'0300'        Literal
+'\n\t'        Text.Whitespace
+'0202'        Literal
+' '           Text.Whitespace
+'0404'        Literal
+' '           Text.Whitespace
+'0830'        Literal
+' '           Text.Whitespace
+'c000'        Literal
+'\n\t'        Text.Whitespace
+'0000'        Literal
+' '           Text.Whitespace
+'183c'        Literal
+' '           Text.Whitespace
+'3c18'        Literal
+' '           Text.Whitespace
+'0000'        Literal
+' \n\n'       Text.Whitespace
+
+'@knob-offsetx' Name.Function
+' \n\t'       Text.Whitespace
+'01'          Literal
+' '           Text.Whitespace
+'00'          Literal
+' '           Text.Whitespace
+'00'          Literal
+' '           Text.Whitespace
+'00'          Literal
+' '           Text.Whitespace
+'00'          Literal
+' '           Text.Whitespace
+'01'          Literal
+' '           Text.Whitespace
+'02'          Literal
+' '           Text.Whitespace
+'03'          Literal
+'\n\t'        Text.Whitespace
+'05'          Literal
+' '           Text.Whitespace
+'06'          Literal
+' '           Text.Whitespace
+'07'          Literal
+' '           Text.Whitespace
+'08'          Literal
+' '           Text.Whitespace
+'08'          Literal
+' '           Text.Whitespace
+'08'          Literal
+' '           Text.Whitespace
+'08'          Literal
+' '           Text.Whitespace
+'07'          Literal
+' \n\n'       Text.Whitespace
+
+'@knob-offsety' Name.Function
+' \n\t'       Text.Whitespace
+'07'          Literal
+' '           Text.Whitespace
+'06'          Literal
+' '           Text.Whitespace
+'05'          Literal
+' '           Text.Whitespace
+'03'          Literal
+' '           Text.Whitespace
+'02'          Literal
+' '           Text.Whitespace
+'01'          Literal
+' '           Text.Whitespace
+'00'          Literal
+' '           Text.Whitespace
+'00'          Literal
+'\n\t'        Text.Whitespace
+'00'          Literal
+' '           Text.Whitespace
+'00'          Literal
+' '           Text.Whitespace
+'01'          Literal
+' '           Text.Whitespace
+'02'          Literal
+' '           Text.Whitespace
+'03'          Literal
+' '           Text.Whitespace
+'05'          Literal
+' '           Text.Whitespace
+'06'          Literal
+' '           Text.Whitespace
+'07'          Literal
+' \n\n'       Text.Whitespace
+
+'@font-hex'   Name.Function
+' '           Text.Whitespace
+'('           Comment.Multiline
+' 0-F '       Comment.Multiline
+')'           Comment.Multiline
+'\n\t'        Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8282'        Literal
+' '           Text.Whitespace
+'8282'        Literal
+' '           Text.Whitespace
+'827c'        Literal
+' '           Text.Whitespace
+'0030'        Literal
+' '           Text.Whitespace
+'1010'        Literal
+' '           Text.Whitespace
+'1010'        Literal
+' '           Text.Whitespace
+'1010'        Literal
+'\n\t'        Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8202'        Literal
+' '           Text.Whitespace
+'7c80'        Literal
+' '           Text.Whitespace
+'80fe'        Literal
+' '           Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8202'        Literal
+' '           Text.Whitespace
+'1c02'        Literal
+' '           Text.Whitespace
+'827c'        Literal
+'\n\t'        Text.Whitespace
+'000c'        Literal
+' '           Text.Whitespace
+'1424'        Literal
+' '           Text.Whitespace
+'4484'        Literal
+' '           Text.Whitespace
+'fe04'        Literal
+' '           Text.Whitespace
+'00fe'        Literal
+' '           Text.Whitespace
+'8080'        Literal
+' '           Text.Whitespace
+'7c02'        Literal
+' '           Text.Whitespace
+'827c'        Literal
+'\n\t'        Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8280'        Literal
+' '           Text.Whitespace
+'fc82'        Literal
+' '           Text.Whitespace
+'827c'        Literal
+' '           Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8202'        Literal
+' '           Text.Whitespace
+'1e02'        Literal
+' '           Text.Whitespace
+'0202'        Literal
+'\n\t'        Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8282'        Literal
+' '           Text.Whitespace
+'7c82'        Literal
+' '           Text.Whitespace
+'827c'        Literal
+' '           Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8282'        Literal
+' '           Text.Whitespace
+'7e02'        Literal
+' '           Text.Whitespace
+'827c'        Literal
+'\n\t'        Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8202'        Literal
+' '           Text.Whitespace
+'7e82'        Literal
+' '           Text.Whitespace
+'827e'        Literal
+' '           Text.Whitespace
+'00fc'        Literal
+' '           Text.Whitespace
+'8282'        Literal
+' '           Text.Whitespace
+'fc82'        Literal
+' '           Text.Whitespace
+'82fc'        Literal
+'\n\t'        Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8280'        Literal
+' '           Text.Whitespace
+'8080'        Literal
+' '           Text.Whitespace
+'827c'        Literal
+' '           Text.Whitespace
+'00fc'        Literal
+' '           Text.Whitespace
+'8282'        Literal
+' '           Text.Whitespace
+'8282'        Literal
+' '           Text.Whitespace
+'82fc'        Literal
+'\n\t'        Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8280'        Literal
+' '           Text.Whitespace
+'f080'        Literal
+' '           Text.Whitespace
+'827c'        Literal
+' '           Text.Whitespace
+'007c'        Literal
+' '           Text.Whitespace
+'8280'        Literal
+' '           Text.Whitespace
+'f080'        Literal
+' '           Text.Whitespace
+'8080'        Literal
+' \n\n'       Text.Whitespace
+
+'@sin-pcm'    Name.Function
+'\n\t'        Text.Whitespace
+'8083'        Literal
+' '           Text.Whitespace
+'8689'        Literal
+' '           Text.Whitespace
+'8c8f'        Literal
+' '           Text.Whitespace
+'9295'        Literal
+' '           Text.Whitespace
+'989b'        Literal
+' '           Text.Whitespace
+'9ea1'        Literal
+' '           Text.Whitespace
+'a4a7'        Literal
+' '           Text.Whitespace
+'aaad'        Literal
+'\n\t'        Text.Whitespace
+'b0b3'        Literal
+' '           Text.Whitespace
+'b6b9'        Literal
+' '           Text.Whitespace
+'bbbe'        Literal
+' '           Text.Whitespace
+'c1c3'        Literal
+' '           Text.Whitespace
+'c6c9'        Literal
+' '           Text.Whitespace
+'cbce'        Literal
+' '           Text.Whitespace
+'d0d2'        Literal
+' '           Text.Whitespace
+'d5d7'        Literal
+'\n\t'        Text.Whitespace
+'d9db'        Literal
+' '           Text.Whitespace
+'dee0'        Literal
+' '           Text.Whitespace
+'e2e4'        Literal
+' '           Text.Whitespace
+'e6e7'        Literal
+' '           Text.Whitespace
+'e9eb'        Literal
+' '           Text.Whitespace
+'ecee'        Literal
+' '           Text.Whitespace
+'f0f1'        Literal
+' '           Text.Whitespace
+'f2f4'        Literal
+'\n\t'        Text.Whitespace
+'f5f6'        Literal
+' '           Text.Whitespace
+'f7f8'        Literal
+' '           Text.Whitespace
+'f9fa'        Literal
+' '           Text.Whitespace
+'fbfb'        Literal
+' '           Text.Whitespace
+'fcfd'        Literal
+' '           Text.Whitespace
+'fdfe'        Literal
+' '           Text.Whitespace
+'fefe'        Literal
+' '           Text.Whitespace
+'fefe'        Literal
+'\n\t'        Text.Whitespace
+'fffe'        Literal
+' '           Text.Whitespace
+'fefe'        Literal
+' '           Text.Whitespace
+'fefe'        Literal
+' '           Text.Whitespace
+'fdfd'        Literal
+' '           Text.Whitespace
+'fcfb'        Literal
+' '           Text.Whitespace
+'fbfa'        Literal
+' '           Text.Whitespace
+'f9f8'        Literal
+' '           Text.Whitespace
+'f7f6'        Literal
+'\n\t'        Text.Whitespace
+'f5f4'        Literal
+' '           Text.Whitespace
+'f2f1'        Literal
+' '           Text.Whitespace
+'f0ee'        Literal
+' '           Text.Whitespace
+'eceb'        Literal
+' '           Text.Whitespace
+'e9e7'        Literal
+' '           Text.Whitespace
+'e6e4'        Literal
+' '           Text.Whitespace
+'e2e0'        Literal
+' '           Text.Whitespace
+'dedb'        Literal
+'\n\t'        Text.Whitespace
+'d9d7'        Literal
+' '           Text.Whitespace
+'d5d2'        Literal
+' '           Text.Whitespace
+'d0ce'        Literal
+' '           Text.Whitespace
+'cbc9'        Literal
+' '           Text.Whitespace
+'c6c3'        Literal
+' '           Text.Whitespace
+'c1be'        Literal
+' '           Text.Whitespace
+'bbb9'        Literal
+' '           Text.Whitespace
+'b6b3'        Literal
+'\n\t'        Text.Whitespace
+'b0ad'        Literal
+' '           Text.Whitespace
+'aaa7'        Literal
+' '           Text.Whitespace
+'a4a1'        Literal
+' '           Text.Whitespace
+'9e9b'        Literal
+' '           Text.Whitespace
+'9895'        Literal
+' '           Text.Whitespace
+'928f'        Literal
+' '           Text.Whitespace
+'8c89'        Literal
+' '           Text.Whitespace
+'8683'        Literal
+'\n\t'        Text.Whitespace
+'807d'        Literal
+' '           Text.Whitespace
+'7a77'        Literal
+' '           Text.Whitespace
+'7471'        Literal
+' '           Text.Whitespace
+'6e6b'        Literal
+' '           Text.Whitespace
+'6865'        Literal
+' '           Text.Whitespace
+'625f'        Literal
+' '           Text.Whitespace
+'5c59'        Literal
+' '           Text.Whitespace
+'5653'        Literal
+'\n\t'        Text.Whitespace
+'504d'        Literal
+' '           Text.Whitespace
+'4a47'        Literal
+' '           Text.Whitespace
+'4542'        Literal
+' '           Text.Whitespace
+'3f3d'        Literal
+' '           Text.Whitespace
+'3a37'        Literal
+' '           Text.Whitespace
+'3532'        Literal
+' '           Text.Whitespace
+'302e'        Literal
+' '           Text.Whitespace
+'2b29'        Literal
+'\n\t'        Text.Whitespace
+'2725'        Literal
+' '           Text.Whitespace
+'2220'        Literal
+' '           Text.Whitespace
+'1e1c'        Literal
+' '           Text.Whitespace
+'1a19'        Literal
+' '           Text.Whitespace
+'1715'        Literal
+' '           Text.Whitespace
+'1412'        Literal
+' '           Text.Whitespace
+'100f'        Literal
+' '           Text.Whitespace
+'0e0c'        Literal
+'\n\t'        Text.Whitespace
+'0b0a'        Literal
+' '           Text.Whitespace
+'0908'        Literal
+' '           Text.Whitespace
+'0706'        Literal
+' '           Text.Whitespace
+'0505'        Literal
+' '           Text.Whitespace
+'0403'        Literal
+' '           Text.Whitespace
+'0302'        Literal
+' '           Text.Whitespace
+'0202'        Literal
+' '           Text.Whitespace
+'0202'        Literal
+'\n\t'        Text.Whitespace
+'0102'        Literal
+' '           Text.Whitespace
+'0202'        Literal
+' '           Text.Whitespace
+'0202'        Literal
+' '           Text.Whitespace
+'0303'        Literal
+' '           Text.Whitespace
+'0405'        Literal
+' '           Text.Whitespace
+'0506'        Literal
+' '           Text.Whitespace
+'0708'        Literal
+' '           Text.Whitespace
+'090a'        Literal
+'\n\t'        Text.Whitespace
+'0b0c'        Literal
+' '           Text.Whitespace
+'0e0f'        Literal
+' '           Text.Whitespace
+'1012'        Literal
+' '           Text.Whitespace
+'1415'        Literal
+' '           Text.Whitespace
+'1719'        Literal
+' '           Text.Whitespace
+'1a1c'        Literal
+' '           Text.Whitespace
+'1e20'        Literal
+' '           Text.Whitespace
+'2225'        Literal
+'\n\t'        Text.Whitespace
+'2729'        Literal
+' '           Text.Whitespace
+'2b2e'        Literal
+' '           Text.Whitespace
+'3032'        Literal
+' '           Text.Whitespace
+'3537'        Literal
+' '           Text.Whitespace
+'3a3d'        Literal
+' '           Text.Whitespace
+'3f42'        Literal
+' '           Text.Whitespace
+'4547'        Literal
+' '           Text.Whitespace
+'4a4d'        Literal
+'\n\t'        Text.Whitespace
+'5053'        Literal
+' '           Text.Whitespace
+'5659'        Literal
+' '           Text.Whitespace
+'5c5f'        Literal
+' '           Text.Whitespace
+'6265'        Literal
+' '           Text.Whitespace
+'686b'        Literal
+' '           Text.Whitespace
+'6e71'        Literal
+' '           Text.Whitespace
+'7477'        Literal
+' '           Text.Whitespace
+'7a7d'        Literal
+'\n'          Text.Whitespace
index 7198477b86dd0c2090e2c51389f5c9d747021150..6a62ba8a9c9d0a95336710950b5dd1ed7ba5af65 100644 (file)
@@ -1,91 +1,91 @@
 '<%'          Keyword
-' '           Text
+' '           Text.Whitespace
 'template'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'example'     Name.Function
 '('           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
 '...'         Operator
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"test"'      Literal.String.Double
 ';'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '4.5'         Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'call'        Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'other'       Name
 '('           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'other2'      Name
 '('           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'define'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'g'           Name
-' '           Text
+' '           Text.Whitespace
 'as'          Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'h'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'false'       Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 'j'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'null'        Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%>'          Keyword
 '\n'          Text
 '\n'          Text
 
 '<%'          Keyword
-' '           Text
-'// Second block\n' Comment.Single
+' '           Text.Whitespace
+'// Second block' Comment.Single
+'\n'          Text.Whitespace
 
 'if'          Keyword
 '('           Operator
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '123'         Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'and'         Keyword
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"test"'      Literal.String.Double
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 "'yes'"       Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 "'no'"        Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'foreach'     Keyword
 '('           Operator
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '..'          Operator
 '10'          Literal.Number.Integer
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '","'         Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'foreach'     Keyword
 '('           Operator
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 'in'          Keyword
-' '           Text
+' '           Text.Whitespace
 '#'           Operator
 '('           Operator
 '1'           Literal.Number.Integer
 ','           Operator
 '3'           Literal.Number.Integer
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 'reverse'     Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '&'           Operator
-' '           Text
+' '           Text.Whitespace
 '";"'         Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '%>'          Keyword
 '\n'          Text
index 93d35fa86d289e21634b5a5a409d86869ab902ff..6892c110ea7d7cbd7d9f9cad69f8836ba5934307 100644 (file)
@@ -1,90 +1,90 @@
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Animal'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'constructor' Keyword.Reserved
 '('           Punctuation
 'public'      Keyword
-' '           Text
+' '           Text.Whitespace
 'name'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'move'        Name.Other
 '('           Punctuation
 'meters'      Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'alert'       Name.Other
 '('           Punctuation
 'this'        Keyword
 '.'           Punctuation
 'name'        Name.Other
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '" moved "'   Literal.String.Double
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'meters'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '"m."'        Literal.String.Double
 ')'           Punctuation
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Snake'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Animal'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'constructor' Keyword.Reserved
 '('           Punctuation
 'name'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'super'       Keyword
 '('           Punctuation
 'name'        Name.Other
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'move'        Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'alert'       Name.Other
 '('           Punctuation
 '"Slithering..."' Literal.String.Double
 ')'           Punctuation
 ';'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'super'       Keyword
 '.'           Punctuation
 'move'        Name.Other
 '5'           Literal.Number.Float
 ')'           Punctuation
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'Horse'       Name.Other
-' '           Text
+' '           Text.Whitespace
 'extends'     Keyword
-' '           Text
+' '           Text.Whitespace
 'Animal'      Name.Other
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'constructor' Keyword.Reserved
 '('           Punctuation
 'name'        Name.Other
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'super'       Keyword
 '('           Punctuation
 'name'        Name.Other
 ')'           Punctuation
 ';'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '}'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'move'        Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'alert'       Name.Other
 '('           Punctuation
 '"Galloping..."' Literal.String.Double
 ')'           Punctuation
 ';'           Punctuation
-'\n        '  Text
+'\n        '  Text.Whitespace
 'super'       Keyword
 '.'           Punctuation
 'move'        Name.Other
 '45'          Literal.Number.Float
 ')'           Punctuation
 ';'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '@View'       Keyword.Declaration
 '('           Punctuation
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'templateUrl' Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"app/components/LoginForm.html"' Literal.String.Double
 ','           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'directives'  Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '['           Punctuation
 'FORM_DIRECTIVES' Name.Other
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'NgIf'        Name.Other
 ']'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@Component'  Keyword.Declaration
 '('           Punctuation
 '{'           Punctuation
-'\n    '      Text
+'\n    '      Text.Whitespace
 'selector'    Name.Other
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 '"login-form"' Literal.String.Double
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'LoginForm'   Name.Other
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 '}'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'sam'         Name.Other
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'Snake'       Name.Other
 '('           Punctuation
 '"Sammy the Python"' Literal.String.Double
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'tom'         Name.Other
-': '          Text
+':'           Operator
+' '           Text.Whitespace
 'Animal'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'new'         Operator.Word
-' '           Text
+' '           Text.Whitespace
 'Horse'       Name.Other
 '('           Punctuation
 '"Tommy the Palomino"' Literal.String.Double
 ')'           Punctuation
-'\n\n'        Text
+'\n\n'        Text.Whitespace
 
 'sam'         Name.Other
 '.'           Punctuation
 'move'        Name.Other
 '('           Punctuation
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'tom'         Name.Other
 '.'           Punctuation
 '('           Punctuation
 '34'          Literal.Number.Float
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/ul4/example_operators.ul4 b/tests/examplefiles/ul4/example_operators.ul4
new file mode 100644 (file)
index 0000000..affa2f6
--- /dev/null
@@ -0,0 +1,40 @@
+<?doc UL4 example for various operators?>
+
+<?print a + b?>
+<?print a - b?>
+<?print a * b?>
+<?print a / b?>
+<?print a // b?>
+<?print a % b?>
+<?print a << b?>
+<?print a >> b?>
+<?print a & b?>
+<?print a | b?>
+<?print a ^ b?>
+<?print a < b?>
+<?print a > b?>
+<?print a <= b?>
+<?print a >= b?>
+<?print a == b?>
+<?print a != b?>
+<?print (a)?>
+<?print [a, b]?>
+<?print {a, b}?>
+<?print {a: b, c: d}?>
+<?print a or b?>
+<?print a and b?>
+<?print [i for i in range(10) if i]?>
+<?print a if b else c?>
+<?print not a?>
+<?print ~a?>
+<?code a += b?>
+<?code a -= b?>
+<?code a *= b?>
+<?code a /= b?>
+<?code a //= b?>
+<?code a %= b?>
+<?code a <<= b?>
+<?code a >>= b?>
+<?code a &= b?>
+<?code a |= b?>
+<?code a ^= b?>
diff --git a/tests/examplefiles/ul4/example_operators.ul4.output b/tests/examplefiles/ul4/example_operators.ul4.output
new file mode 100644 (file)
index 0000000..8f69a1f
--- /dev/null
@@ -0,0 +1,444 @@
+'<?doc UL4 example for various operators?>' Literal.String.Doc
+'\n\n'        Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'*'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'//'          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'%'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'<<'          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'>>'          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'&'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'|'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'>'           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'<='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'>='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'=='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'!='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'('           Operator
+'a'           Name
+')'           Operator
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'['           Operator
+'a'           Name
+','           Operator
+' '           Text.Whitespace
+'b'           Name
+']'           Operator
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'{'           Operator
+'a'           Name
+','           Operator
+' '           Text.Whitespace
+'b'           Name
+'}'           Operator
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'{'           Operator
+'a'           Name
+':'           Operator
+' '           Text.Whitespace
+'b'           Name
+','           Operator
+' '           Text.Whitespace
+'c'           Name
+':'           Operator
+' '           Text.Whitespace
+'d'           Name
+'}'           Operator
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'or'          Keyword
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'and'         Keyword
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'['           Operator
+'i'           Name
+' '           Text.Whitespace
+'for'         Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'range'       Name
+'('           Operator
+'10'          Literal.Number.Integer
+')'           Operator
+' '           Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'i'           Name
+']'           Operator
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'if'          Keyword
+' '           Text.Whitespace
+'b'           Name
+' '           Text.Whitespace
+'else'        Keyword
+' '           Text.Whitespace
+'c'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'not'         Keyword
+' '           Text.Whitespace
+'a'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'~'           Operator
+'a'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'+='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'-='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'*='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'/='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'//'          Operator
+'='           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'%'           Operator
+'='           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'<<'          Operator
+'='           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'>>'          Operator
+'='           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'&='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'|='          Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'a'           Name
+' '           Text.Whitespace
+'^'           Operator
+'='           Operator
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n'          Other
diff --git a/tests/examplefiles/ul4/example_tags.ul4 b/tests/examplefiles/ul4/example_tags.ul4
new file mode 100644 (file)
index 0000000..edc7d9f
--- /dev/null
@@ -0,0 +1,28 @@
+<?ul4 templatename()?>
+<?whitespace keep?>
+<?doc UL4 example for all the available tags?>
+
+<?def gurk(a, b, c, d)?>
+       <?for i in range(10)?>
+               <?print a?>
+               <?if b?>
+                       <?printx b?>
+               <?elif c?>
+                       <?render c()?>
+               <?else?>
+                       <?renderx d()?>
+               <?end if?>
+               <?code i = 0?>
+               <?while i < 42?>
+                       <?code i += 1?>
+               <?end while?>
+       <?end for?>
+<?end def?>
+
+<?renderblock hinz()?>
+       ...
+<?end renderblock?>
+
+<?renderblocks kunz()?>
+       ...
+<?end renderblocks?>
diff --git a/tests/examplefiles/ul4/example_tags.ul4.output b/tests/examplefiles/ul4/example_tags.ul4.output
new file mode 100644 (file)
index 0000000..4dd1963
--- /dev/null
@@ -0,0 +1,175 @@
+'<?'          Comment.Preproc
+'ul4'         Keyword
+' '           Text.Whitespace
+'templatename' Name.Function
+'('           Operator
+')'           Operator
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'whitespace'  Keyword
+' '           Text.Whitespace
+'keep'        Comment.Preproc
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?doc UL4 example for all the available tags?>' Literal.String.Doc
+'\n\n'        Other
+
+'<?'          Comment.Preproc
+'def'         Keyword
+' '           Text.Whitespace
+'gurk'        Name.Function
+'('           Operator
+'a'           Name
+','           Operator
+' '           Text.Whitespace
+'b'           Name
+','           Operator
+' '           Text.Whitespace
+'c'           Name
+','           Operator
+' '           Text.Whitespace
+'d'           Name
+')'           Operator
+'?>'          Comment.Preproc
+'\n\t'        Other
+'<?'          Comment.Preproc
+'for'         Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'in'          Keyword
+' '           Text.Whitespace
+'range'       Name
+'('           Operator
+'10'          Literal.Number.Integer
+')'           Operator
+'?>'          Comment.Preproc
+'\n\t\t'      Other
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'a'           Name
+'?>'          Comment.Preproc
+'\n\t\t'      Other
+'<?'          Comment.Preproc
+'if'          Keyword
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n\t\t\t'    Other
+'<?'          Comment.Preproc
+'printx'      Keyword
+' '           Text.Whitespace
+'b'           Name
+'?>'          Comment.Preproc
+'\n\t\t'      Other
+'<?'          Comment.Preproc
+'elif'        Keyword
+' '           Text.Whitespace
+'c'           Name
+'?>'          Comment.Preproc
+'\n\t\t\t'    Other
+'<?'          Comment.Preproc
+'render'      Keyword
+' '           Text.Whitespace
+'c'           Name
+'('           Operator
+')'           Operator
+'?>'          Comment.Preproc
+'\n\t\t'      Other
+'<?'          Comment.Preproc
+'else'        Keyword
+'?>'          Comment.Preproc
+'\n\t\t\t'    Other
+'<'           Other
+'?renderx d()?>\n\t\t' Other
+'<?'          Comment.Preproc
+'end'         Keyword
+' '           Text
+'if'          Keyword
+'?>'          Comment.Preproc
+'\n\t\t'      Other
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'0'           Literal.Number.Integer
+'?>'          Comment.Preproc
+'\n\t\t'      Other
+'<?'          Comment.Preproc
+'while'       Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'<'           Operator
+' '           Text.Whitespace
+'42'          Literal.Number.Integer
+'?>'          Comment.Preproc
+'\n\t\t\t'    Other
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'i'           Name
+' '           Text.Whitespace
+'+='          Operator
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+'?>'          Comment.Preproc
+'\n\t\t'      Other
+'<?'          Comment.Preproc
+'end'         Keyword
+' '           Text
+'while'       Keyword
+'?>'          Comment.Preproc
+'\n\t'        Other
+'<?'          Comment.Preproc
+'end'         Keyword
+' '           Text
+'for'         Keyword
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'end'         Keyword
+' '           Text
+'def'         Keyword
+'?>'          Comment.Preproc
+'\n\n'        Other
+
+'<?'          Comment.Preproc
+'renderblock' Keyword
+' '           Text.Whitespace
+'hinz'        Name
+'('           Operator
+')'           Operator
+'?>'          Comment.Preproc
+'\n\t...\n'   Other
+
+'<?'          Comment.Preproc
+'end'         Keyword
+' '           Text
+'renderblock' Keyword
+'?>'          Comment.Preproc
+'\n\n'        Other
+
+'<?'          Comment.Preproc
+'renderblocks' Keyword
+' '           Text.Whitespace
+'kunz'        Name
+'('           Operator
+')'           Operator
+'?>'          Comment.Preproc
+'\n\t...\n'   Other
+
+'<?'          Comment.Preproc
+'end'         Keyword
+' '           Text
+'renderblocks' Keyword
+'?>'          Comment.Preproc
+'\n'          Other
diff --git a/tests/examplefiles/ul4/example_template.ul4 b/tests/examplefiles/ul4/example_template.ul4
new file mode 100644 (file)
index 0000000..9e169b2
--- /dev/null
@@ -0,0 +1,12 @@
+<?ul4 templatename()?>
+<?whitespace smart?>
+<?doc UL4 example for template level information?>
+<?note A comment?>
+<?ignore?>
+       Ignore <?this?>
+       <?ignore?>
+               ... and <?this?>
+       <?end ignore?>
+       ... and <?this?>
+... and even <?this?><?end ignore?>
+<?code hint = "ignored no longer"?>
\ No newline at end of file
diff --git a/tests/examplefiles/ul4/example_template.ul4.output b/tests/examplefiles/ul4/example_template.ul4.output
new file mode 100644 (file)
index 0000000..7efae77
--- /dev/null
@@ -0,0 +1,51 @@
+'<?'          Comment.Preproc
+'ul4'         Keyword
+' '           Text.Whitespace
+'templatename' Name.Function
+'('           Operator
+')'           Operator
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'whitespace'  Keyword
+' '           Text.Whitespace
+'smart'       Comment.Preproc
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?doc UL4 example for template level information?>' Literal.String.Doc
+'\n'          Other
+
+'<?note A comment?>' Comment
+'\n'          Other
+
+'<?ignore?>'  Comment
+'\n\tIgnore ' Comment
+'<'           Comment
+'?this?>\n\t' Comment
+'<?ignore?>'  Comment
+'\n\t\t... and ' Comment
+'<'           Comment
+'?this?>\n\t' Comment
+'<?end ignore?>' Comment
+'\n\t... and ' Comment
+'<'           Comment
+'?this?>\n... and even ' Comment
+'<'           Comment
+'?this?>'     Comment
+'<?end ignore?>' Comment
+'\n'          Other
+
+'<?'          Comment.Preproc
+'code'        Keyword
+' '           Text.Whitespace
+'hint'        Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'"'           Literal.String
+'ignored no longer' Literal.String
+'"'           Literal.String
+'?>'          Comment.Preproc
+'\n'          Other
diff --git a/tests/examplefiles/ul4/example_types.ul4 b/tests/examplefiles/ul4/example_types.ul4
new file mode 100644 (file)
index 0000000..810e846
--- /dev/null
@@ -0,0 +1,23 @@
+<?whitespace strip?>
+<?doc UL4 example for variables types of constants?>
+<?print None?>
+<?print True?>
+<?print False?>
+<?print 0b101010?>
+<?print 0o52?>
+<?print 0x2a?>
+<?print 42?>
+<?print 42.5?>
+<?print 4.25e1?>
+<?print 'bar\\\'\"\a\b\t\n\f\r\xff\u3042\U0010ffffbaz"'?>
+<?print "bar\\\'\"\a\b\t\n\f\r\xff\u3042\U0010ffffbaz'"?>
+<?print """bar"""?>
+<?print '''bar'''?>
+<?print @(2000-02-29)?>
+<?print @(2000-02-29T12:34)?>
+<?print @(2000-02-29T12:34:56)?>
+<?print @(2000-02-29T12:34:56.987654)?>
+<?print #fff?>
+<?print #fff8?>
+<?print #fff8f0?>
+<?print #fff8f088?>
diff --git a/tests/examplefiles/ul4/example_types.ul4.output b/tests/examplefiles/ul4/example_types.ul4.output
new file mode 100644 (file)
index 0000000..0f209fc
--- /dev/null
@@ -0,0 +1,190 @@
+'<?'          Comment.Preproc
+'whitespace'  Keyword
+' '           Text.Whitespace
+'strip'       Comment.Preproc
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?doc UL4 example for variables types of constants?>' Literal.String.Doc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'None'        Keyword.Constant
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'True'        Keyword.Constant
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'False'       Keyword.Constant
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'0b101010'    Literal.Number.Bin
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'0o52'        Literal.Number.Oct
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'0x2a'        Literal.Number.Hex
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'42'          Literal.Number.Integer
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'42.5'        Literal.Number.Float
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'4.25e1'      Literal.Number.Float
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+"'"           Literal.String
+'bar'         Literal.String
+'\\\\'        Literal.String.Escape
+"\\'"         Literal.String.Escape
+'\\"'         Literal.String.Escape
+'\\a'         Literal.String.Escape
+'\\b'         Literal.String.Escape
+'\\t'         Literal.String.Escape
+'\\n'         Literal.String.Escape
+'\\f'         Literal.String.Escape
+'\\r'         Literal.String.Escape
+'\\xff'       Literal.String.Escape
+'\\u3042'     Literal.String.Escape
+'\\U0010ffff' Literal.String.Escape
+'baz"'        Literal.String
+"'"           Literal.String
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'"'           Literal.String
+'bar'         Literal.String
+'\\\\'        Literal.String.Escape
+"\\'"         Literal.String.Escape
+'\\"'         Literal.String.Escape
+'\\a'         Literal.String.Escape
+'\\b'         Literal.String.Escape
+'\\t'         Literal.String.Escape
+'\\n'         Literal.String.Escape
+'\\f'         Literal.String.Escape
+'\\r'         Literal.String.Escape
+'\\xff'       Literal.String.Escape
+'\\u3042'     Literal.String.Escape
+'\\U0010ffff' Literal.String.Escape
+"baz'"        Literal.String
+'"'           Literal.String
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'"""'         Literal.String
+'bar'         Literal.String
+'"""'         Literal.String
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+"'''"         Literal.String
+'bar'         Literal.String
+"'''"         Literal.String
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'@(2000-02-29)' Literal.Date
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'@(2000-02-29T12:34)' Literal.Date
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'@(2000-02-29T12:34:56)' Literal.Date
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'@(2000-02-29T12:34:56.987654)' Literal.Date
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'#fff'        Literal.Color
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'#fff8'       Literal.Color
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'#fff8f0'     Literal.Color
+'?>'          Comment.Preproc
+'\n'          Other
+
+'<?'          Comment.Preproc
+'print'       Keyword
+' '           Text.Whitespace
+'#fff8f088'   Literal.Color
+'?>'          Comment.Preproc
+'\n'          Other
index 3ee7b9406ca91bed5969ac86dc0f0b4704befe82..6bf247c192a5cb5ec26676bacae0ab38ce92df5b 100644 (file)
@@ -1,56 +1,56 @@
 'package'     Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'beer'        Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'static'      Name.Namespace
-' '           Text
+' '           Text.Whitespace
 'extension'   Name
-' '           Text
+' '           Text.Whitespace
 'beer'        Name
 '.'           Operator
 'BottleSupport' Name
 '.'           Operator
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'import'      Keyword.Namespace
-' '           Text
+' '           Text.Whitespace
 'org.junit.Test' Name.Namespace
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'BottleSong'  Name.Class
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '@Test'       Name.Decorator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'def'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'void'        Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'singIt'      Name.Function
 '('           Operator
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'println'     Name
 '('           Operator
 'singTheSong' Name
 '99'          Literal.Number.Integer
 ')'           Operator
 ')'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'def'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'singTheSong' Name.Function
 '('           Operator
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'all'         Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 "'''"         Literal.String
 '\n'          Literal.String
 
 '\t'          Literal.String
 '«'           Literal.String
 'FOR'         Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'all'         Name
-' '           Text
+' '           Text.Whitespace
 '.'           Operator
 '.'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 '»'           Literal.String
 '\n'          Literal.String
 '«'           Literal.String
 '('           Operator
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Operator
 '.'           Operator
 
 '\t'          Literal.String
 "'''"         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'def'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'private'     Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'java'        Name
 '.'           Operator
 'lang'        Name
 '.'           Operator
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'bottles'     Name.Function
 '('           Operator
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 'i'           Name
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 "'no more bottles'" Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 "'one bottle'" Literal.String.Single
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t\t'      Text
+'\t\t\t'      Text.Whitespace
 'default'     Keyword
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 "'''"         Literal.String
 '«'           Literal.String
 'i'           Name
 'e'           Literal.String
 's'           Literal.String
 "'''"         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 '}'           Operator
 '.'           Operator
 'toString'    Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Operator
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
-'\n'          Text
+'\t'          Text.Whitespace
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 'def'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'Bottles'     Name.Function
 '('           Operator
 'int'         Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'i'           Name
 ')'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t\t'        Text
+'\t\t'        Text.Whitespace
 'bottles'     Name
 '('           Operator
 'i'           Name
 ')'           Operator
 '.'           Operator
 'toFirstUpper' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\t'          Text
+'\t'          Text.Whitespace
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
index 31af339829f1009e7392f5b90a3de36a3bb2564d..861165cdf9103a8bdffecf0cd4f979033cc2e113 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-1">1</a></span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-1">1</a></span>
 <span class="normal"><a href="#-2">2</a></span>
-<span class="normal"><a href="#-3">3</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-3">3</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 6f39fa2ddd994a0b6d54dea4591b15ada2ff549a..af31392b449229739baf2495a9b810ef63ce2557 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-1">1</a></span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-1">1</a></span>
 <span class="normal"><a href="#-2">2</a></span>
-<span class="normal"><a href="#-3">3</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-3">3</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 133031b63af8fc3e96a5fc60d89684e7eadbf72a..a27ddbae225a0f4f05a4f33f98ae11ef5ba89d9d 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
 <span class="normal">2</span>
-<span class="normal">3</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 56a54ba59a6195fb58713fd0fd0eeba5b18e759e..b3044e7bfbae735d3d79a107997d6a12aef12687 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
 <span class="normal">2</span>
-<span class="normal">3</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 754f8cd46841a6365927584f440f5f0092d38af4..ee74013e7a736cd0c76937839147741553082e04 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-1">1</a></span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-1">1</a></span>
 <span class="normal"><a href="#-2">2</a></span>
-<span class="special"><a href="#-3">3</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="special"><a href="#-3">3</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 3221c5dfb65aa6713f2646635ef54ee1ac92970d..a4a3f8e6e6330cf0253b0c86a596f567cdb73a23 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-1">1</a></span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-1">1</a></span>
 <span class="normal"><a href="#-2">2</a></span>
-<span class="special"><a href="#-3">3</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="special"><a href="#-3">3</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index e638f17d84b8c46247f785a5e4a6f42e2cb2572d..f910782564ded12bdb94b6d153a0eeafe1bcde16 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
 <span class="normal">2</span>
-<span class="special">3</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="special">3</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 1fd80cbeeddb76da43dd773135b06c6dff341c14..e79e4368578a92456893b5e85e56c31ce3709a38 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
 <span class="normal">2</span>
-<span class="special">3</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="special">3</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 8aa459a378bf9f0d6361d13b24396fc6095b4df5..1a396a7ffa48f3dc03d207c778be7e369654bf44 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
 <span class="normal"><a href="#-9"> 9</a></span>
-<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 5786e13116692f4e4db3e818c275cfbb6471b096..04f76cb18eb3045905ca227538eb1c863df6330a 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
 <span class="normal"><a href="#-9"> 9</a></span>
-<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 86d658fdc7d95531b617af9c7d8977c9ee29cbb2..99675f077ae2804cd55c70f434290c25495f0e3f 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
 <span class="normal"> 9</span>
-<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 6a6e141ade87d59fd898acdf11c88b31de03af91..1d69eaf3289cd5e486d4c362f0e5a04a905fb125 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
 <span class="normal"> 9</span>
-<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index fadd4e826fe0c55d8bd0a4b4958a6f5edcf7f5ba..9a47c603c19983400c5b731325af3373c47921eb 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
 <span class="special"><a href="#-9"> 9</a></span>
-<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index d2a966ab63e1089d9805fd387cadbbeea55c647f..03285e999b0aca95dca5f741e994939cb54067ca 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
 <span class="special"><a href="#-9"> 9</a></span>
-<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index a0c1059a307062923fba53edc261d4a204e1ce34..0205691bcb20782db0b6765b4eb2e7ea692b4df4 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
 <span class="special"> 9</span>
-<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index cd9017f2fd6c7de17d1f4c3f562e13de221be3e1..b94db0133e124f11a91cd1b3fe1bf159b331ac16 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
 <span class="special"> 9</span>
-<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index ff154f648596b7edf4beb14772d610d55e53588c..bd13be4ff255a6952ed23b122b884c3b6cdd1569 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
 <span class="normal"><a href="#-2">2</a></span>
-<span class="normal"> </span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"> </span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index bed80e387e08b2af1a5e645d72e9a7281b017f57..fcacc18cd84f5df4d116974ae3de573e16445506 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
 <span class="normal"><a href="#-2">2</a></span>
-<span class="normal"> </span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"> </span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 281f2d40f7836846f381d3c78ed29e0bacf849fe..4a418e6eed98bbda1c9ef3c607f272652572a77f 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
 <span class="normal">2</span>
-<span class="normal"> </span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"> </span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 30b4e3347f4b7a2746365a5cf98045bc919913dd..7128962d9bbb4d1f283782730097cddec0eae816 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
 <span class="normal">2</span>
-<span class="normal"> </span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"> </span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index a6effc2ece0f05c96f25a156c7d89f1cb7b33054..60cab0e819a7a24f4a961aa377aa45882a3f52a4 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
 <span class="normal"><a href="#-2">2</a></span>
-<span class="special"> </span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="special"> </span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 7bcbf8e4a2fb5fbdeb9d6e7bb0d9506f09e07bfe..848e666ca13e4e2a7ce825eb7c27d2589c6c76a6 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
 <span class="normal"><a href="#-2">2</a></span>
-<span class="special"> </span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="special"> </span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index fb5080b20490fcf8698728266c980a2028fa4442..a690bd08a4d5d7a001ea5b0fdc50acbfe91a359f 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
 <span class="normal">2</span>
-<span class="special"> </span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="special"> </span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 530793d625b5d80e90788736f6945fe3603c3494..31ceb56b7ce78619a40784ec7ac264a22395eacc 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> </span>
 <span class="normal">2</span>
-<span class="special"> </span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="special"> </span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 171ab69e9ff7b8f82ca41cc7b04e91fac9c2056a..3a750e9b0dfc0f061af9d78e9f2307ec575a6f02 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
 <span class="normal">  </span>
-<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 5dd97da440cb7113557e9e697c7ca38c4ac1f428..683756389f95fd27a9f9b9d1fc0abaa80bac0de6 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
 <span class="normal">  </span>
-<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index c211136e683a34bf7253e98483acf05f9c27ae22..bc0a078c3d4bff89a89ff96e21b82bb40476b0ae 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
 <span class="normal">  </span>
-<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index ffda7b166b143e38a8b2e522a3047bce30505228..a8125e8d9e5bacd41f2f1387591063511c047490 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
 <span class="normal">  </span>
-<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 95dee537d5a169933e0d0356bc6204bec612c5e8..36a8e5f35a97e25e68c66824deb50324c7ad1418 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
 <span class="special">  </span>
-<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 29dd5c1349a17251c9a78ff2f0ee8042ab9a58e8..200fffefd3920bdcb863692771dd5550c8ae3f99 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"><a href="#-8"> 8</a></span>
 <span class="special">  </span>
-<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 60511ad170736dce0b5ec84a75db8d1abca7afb2..f9efd122f81e59d4b50b01923a95134db90c8284 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
+<div class="highlight"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
 <span class="special">  </span>
-<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index a4722251f9342d934912fcc53ded1217ae24ddd9..2d9d86ea6d69420e0a3267cb39f91b573f694668 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
+<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 8</span>
 <span class="special">  </span>
-<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># a</span>
+<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1"># a</span>
 <span class="c1"># b</span>
 <span class="c1"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 78c181465661ee561042e546ebc377808dc0fda9..1cdc6bb5ff750805b66d0b58a2233be523e58e19 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 27c7349e5523e2778ab7f70c4d86674b93bdf122..6bad0df2238e9044bd15e24b28a324cb6fa65bf2 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index ec3a6f4384645def19de77a7017c8984edd82143..ffd88d40c39ca82fc843d9b99a6525c882dc2bfa 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">1</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">1</span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">2</span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">3</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">3</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 0d6c68c8f12c1a837b2af6055cfe0602c427daf1..62c5a6ed4f5f88df6303ad88888e0a82cb273369 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">1</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">1</span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">2</span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">3</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">3</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index a01aa4684fa91dd9cb2bbf4db3b23af42132f934..e719f8e48537b580a34453eb6374f9de4b811d3a 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
-<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 88b61fdc8259e12505c5c718ac7f03e6d0eef67b..e07cebe5b949230d0963b6b84a1eba44a66e777c 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
-<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index c65a8df7712d46cca77975a6f6ff9ce278af90da..fbb6cde36d0974de7630b1d69c1c38775fa5047e 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">1</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">1</span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">2</span>
-<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">3</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">3</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 3f9d3a9dbf4a5f2050b607dca64d8dba3ca9c8f9..ce4bfa891388c9f59f19228ce7b3375766c2e9c8 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">1</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">1</span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">2</span>
-<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">3</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">3</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 97b7d65914e6ea49518b7a182c0fd77c08f33f6e..3402b4c5c48569f3e214e8c4fc7cab157642224a 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-9"> 9</a></span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 5cda8c817c92a6efba51b69c6637b2b886d12b47..2eb3396c931b2b7de6a7235abd696b6cf681226d 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-9"> 9</a></span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index c95c4d4970e0bd8d6edcf341f9472ebfe6db7d4c..51b2dba42acf8a1b2e0030db2b6be711ae4d6479 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 9</span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index b70b386e30ff2fd72da06d37b04b6602a4d15f89..91f66e15066a4d34547a46cf593ded8eb30212e3 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 9</span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 48b71b02a171f4e41aa1b5ab515674e37d06cb95..7e5aadf943f9506bcb0cc94f6b84146d3570a711 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
 <span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"><a href="#-9"> 9</a></span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 18dc8f78993d56d37b228f40c54c3ed415cdc9ba..b10fdcac9ecc51e2ee6fb2f75a1b09bc239b5298 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
 <span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"><a href="#-9"> 9</a></span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index ed42a684665fd9722dbc49e9ba4359f4c07af8ce..8067f7e5b11049a1a033fd4cef6e96113f595758 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
 <span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> 9</span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 259c81330208d9984dd2460907dfc272f2d2d14e..f3fde8b66cd0a8267921caebeeefb02cb62764f9 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
 <span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> 9</span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 4cc88049a2899399d5f6d1fc5eafbefb78134ad6..8be13f0aeaafe582abf6eb4885359b7e81a9cac3 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index b7d21716009f81e9a70e958e1c53d6342c33777e..f72b3260fe3833e92ea63bea87c6a38619d53025 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 16c995ebb5daf98aa1ad61e0f1ee576d3e48e85a..512db3bff7d45fb4d95a902cfc72ce24d1b07fb9 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">2</span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 1568403f03302780a1a9fd6d8f83a034b0c19b87..26d6723f2384fb95a8af7a3b110246413d84307a 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">2</span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index f8d4d4aa88383d65c954d332a21be3cc6cb27ed5..0270512ddc0060175566836a4f18c7650a712975 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
-<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 054ab5600a5b509ec16b589554993512874e896a..d6f4d3ca7c7d1ccaf17672bde52faf36b63bd5ed 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
-<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 87e87ee61f8f394e151aa30716589a815d3b3006..1f6dc86a272c801755a60a56519412ecb084c2e5 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">2</span>
-<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 8750845489a08d1d7f2f94c1e819f92848c41851..c606d01a79f3b0d7660eddb06a9d471d56bb09ec 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> </span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">2</span>
-<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index e7a540de00cc0be3bb53308ba25fa00dd93914cc..b90f2b05297585dc47044312904fb83d687f46d7 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">  </span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index c63cfb227de36037348d85ca767e7cd75b3a53e8..926dd8cbb95454fbf63c814a8dd42ca5ad03bde3 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">  </span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 3f184e865d66f5e09717b1cd83f24365cdb9a3fd..162329519d75ab4fc99ca832e9f09a5f57fe933a 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">  </span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 13950b26e72258092ae89721c1e78e0cbf53e778..0252dce51dfcff0ed284ebea0fa2e9096456403a 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
 <span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">  </span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index a34833d4015465274277ba25ffc16f72071acc38..791f64036b00ad648468d8357784cf86ccc732dd 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
 <span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">  </span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index b44f02e4c2339cd1d1f70fe773d757b74ff39564..bbc20f6d8e8624150a9fb07b0c4d42b7544b1943 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
 <span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">  </span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index e59bdbc8f5f6fc920dff12d7bf2d1195a781c0a9..5c04be380d09f15013693d22ab67e1ce8f6d6b74 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><th class="filename" colspan="2"><div class="highlight"><span class="filename">testfilename</span></div></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><th class="filename" colspan="2"><span class="filename">testfilename</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
 <span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">  </span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index deb8414224bbb848ff24bd32493c40e6d84da542..fc75b66d75f77f39cd05195667e8187e2555ccf8 100644 (file)
@@ -1,7 +1,6 @@
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
+<div class="highlight" style="background: #f8f8f8"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;"> 8</span>
 <span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">  </span>
-<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
+<span style="color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px;">10</span></pre></div></td><td class="code"><div><pre style="line-height: 125%;"><span></span><span style="color: #3D7B7B; font-style: italic"># a</span>
 <span style="color: #3D7B7B; font-style: italic"># b</span>
 <span style="color: #3D7B7B; font-style: italic"># c</span>
-</pre></div>
-</td></tr></table>
\ No newline at end of file
+</pre></div></td></tr></table></div>
index 847cc86d7830767d5414bea2b6cc9c9c35b8a187..d1c11482b1adc052210e334f2c6b678541762062 100644 (file)
@@ -36,7 +36,7 @@ int main()
 'case'        Keyword
 ' '           Text.Whitespace
 '0'           Literal.Number.Integer
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '        '    Text.Whitespace
index 482bff54bcabc3ebf5e4e88437350a179723c7b9..583f77c112a6bc412df7eaf73d436cd65eb4a7b8 100644 (file)
@@ -37,7 +37,7 @@ int main()
 ' '           Text.Whitespace
 '0'           Literal.Number.Integer
 ' '           Text.Whitespace
-':'           Operator
+':'           Punctuation
 '\n'          Text.Whitespace
 
 '        '    Text.Whitespace
index 6ae9b753b42d703fcbfa307c31dd679063a84aa9..886b70624d521a06f52308ffa07703f0271b38be 100644 (file)
@@ -11,4 +11,4 @@
 '/'           Operator
 'x'           Name.Other
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 7577b665eec9c706ab09e4e7f1dddd187b1611d7..8701fad20710a4c65640854de5271308d902fec5 100644 (file)
@@ -10,4 +10,4 @@ a?/foo/:1/2;
 '/'           Operator
 '2'           Literal.Number.Integer
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index b4766421038485aad9e8dd231bf82b1489ee6c14..02e62555e882ef172f485755087d42d702c8d801 100644 (file)
     The directory must match the alias of the lexer to be used.
     Populate only the input, then just `--update-goldens`.
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
+import pathlib
 import pytest
 
 from tests.conftest import LexerInlineTestItem
@@ -23,7 +24,7 @@ from tests.conftest import LexerInlineTestItem
 
 def pytest_collect_file(parent, path):
     if path.ext == '.txt':
-        return LexerTestFile.from_parent(parent, fspath=path)
+        return LexerTestFile.from_parent(parent, path=pathlib.Path(path))
 
 
 class LexerTestFile(pytest.File):
diff --git a/tests/snippets/elpi/test_catastrophic_backtracking.txt b/tests/snippets/elpi/test_catastrophic_backtracking.txt
new file mode 100644 (file)
index 0000000..a14a054
--- /dev/null
@@ -0,0 +1,6 @@
+---input---
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+---tokens---
+'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' Text
+'\n'          Text.Whitespace
index 950790e7c49a9aaf09826470a2e6db3a8866a721..657c8fde2728263858df563aebcfdd45bd6345fd 100644 (file)
@@ -34,8 +34,7 @@ pred p3 i:(bool -> prop).
 '('           Keyword.Type
 'bool'        Keyword.Type
 ' '           Text.Whitespace
-'-'           Error
-'>'           Keyword.Type
+'->'          Keyword.Type
 ' '           Text.Whitespace
 'prop'        Keyword.Type
 ')'           Keyword.Type
index a4a78fe8a61fc6c3af2f98df8f385bd36653a873..8a506ce52439bef696803f8a2fbee20c6fa3dc88 100644 (file)
@@ -5,6 +5,7 @@ type cons A -> list A -> list A.
 kind tm type.
 type fun (tm -> tm) -> tm.
 type app tm -> tm -> tm.
+pred foo i:(tm -> tm), o:tm.
 
 ---tokens---
 'kind'        Keyword.Declaration
@@ -90,3 +91,22 @@ type app tm -> tm -> tm.
 'tm'          Keyword.Type
 '.'           Text
 '\n'          Text.Whitespace
+
+'pred'        Keyword.Declaration
+' '           Text.Whitespace
+'foo'         Name.Function
+' '           Text.Whitespace
+'i:'          Keyword.Mode
+'('           Keyword.Type
+'tm'          Keyword.Type
+' '           Text.Whitespace
+'->'          Keyword.Type
+' '           Text.Whitespace
+'tm'          Keyword.Type
+')'           Keyword.Type
+','           Text
+' '           Text.Whitespace
+'o:'          Keyword.Mode
+'tm'          Keyword.Type
+'.'           Text
+'\n'          Text.Whitespace
diff --git a/tests/snippets/html/multiline-comment-catastrophic-backtracking.txt b/tests/snippets/html/multiline-comment-catastrophic-backtracking.txt
new file mode 100644 (file)
index 0000000..76f2fb9
--- /dev/null
@@ -0,0 +1,34 @@
+---input---
+<!--
+this
+comment
+is
+never
+terminated
+...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+...
+
+---tokens---
+'<'           Error
+'!--\nthis\ncomment\nis\nnever\nterminated\n...\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n...\n' Text
index 34253c9339a74125adce750b91eb23245f5c1177..0156b6dfaded98e40234e766dbaff3039fc77001 100644 (file)
@@ -5,4 +5,4 @@
 '3'           Literal.Number.Integer
 '?'           Operator
 '10'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
index c291720d034388f7849512ed5c2f8ca46625ae28..0a0bd77cb311feb12ecb6f060806f4682d0869ce 100644 (file)
@@ -6,4 +6,4 @@
 '?'           Operator
 '.'           Operator
 '10'          Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
index 5fec974637acf9af5932877c73b86112c7f579cf..f24fa420c912b2a4326f1e73ef2ff5eeb668379d 100644 (file)
@@ -6,31 +6,31 @@ switch (x) {
 
 ---tokens---
 'switch'      Keyword
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'case'        Keyword
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'    '        Text
+'    '        Text.Whitespace
 'default'     Keyword
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'break'       Keyword
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 34713b99e2cfeacfe974957be361d6d6be319952..d2a809164c4ffe4e7871c3b0233cf9dad5f9a69c 100644 (file)
@@ -5,18 +5,18 @@ for(String var2: var1) {}
 ---tokens---
 'label'       Name.Label
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'for'         Keyword
 '('           Punctuation
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'var2'        Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'var1'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 5295bd8d0ec15c669b44f14638564230e8aca9b8..1dc933d306f6b33b4b91b84374430e6ae7c5f233 100644 (file)
@@ -3,32 +3,32 @@
 
 ---tokens---
 '0'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '5L'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '9__542_72l'  Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '0xbEEf'      Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '0X9_A'       Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '0_35'        Literal.Number.Oct
-' '           Text
+' '           Text.Whitespace
 '01'          Literal.Number.Oct
-' '           Text
+' '           Text.Whitespace
 '0b0___101_0' Literal.Number.Bin
-' '           Text
+' '           Text.Whitespace
 '0.'          Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.7_17F'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '3e-1_3d'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1f'          Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '6_01.9e+3'   Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0x.1Fp3'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0XEP8D'      Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
index ddae1ddc0f1c06b09935b6628dcef5ed1e971914..f4ca08b1c13ab65c0e85bed7ea2f6e99c841c018 100644 (file)
@@ -7,61 +7,61 @@ String[] record = csvReader.getValues();
 
 ---tokens---
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'record'      Keyword.Declaration
 ' '           Text
 'RecordTest'  Name.Class
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'public'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'static'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'record'      Keyword.Declaration
 ' '           Text
 'RecordTest'  Name.Class
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'record'      Keyword.Declaration
 ' '           Text
 'Person'      Name.Class
 '('           Punctuation
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'firstName'   Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name
-' '           Text
+' '           Text.Whitespace
 'lastName'    Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'String'      Name
 '['           Operator
 ']'           Operator
-' '           Text
+' '           Text.Whitespace
 'record'      Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'csvReader'   Name
 '.'           Punctuation
 'getValues'   Name.Attribute
 '('           Punctuation
 ')'           Punctuation
 ';'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/snippets/js/super.txt b/tests/snippets/js/super.txt
new file mode 100644 (file)
index 0000000..1af2ad2
--- /dev/null
@@ -0,0 +1,72 @@
+---input---
+super(member1, member2)
+
+super(member1,member2)
+
+super(member1,
+member2)
+
+super (member1, member2)
+
+super  (member1,member2)
+
+super   (member1,
+member2)
+
+---tokens---
+'super'       Keyword
+'('           Punctuation
+'member1'     Name.Other
+','           Punctuation
+' '           Text.Whitespace
+'member2'     Name.Other
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'super'       Keyword
+'('           Punctuation
+'member1'     Name.Other
+','           Punctuation
+'member2'     Name.Other
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'super'       Keyword
+'('           Punctuation
+'member1'     Name.Other
+','           Punctuation
+'\n'          Text.Whitespace
+
+'member2'     Name.Other
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'super'       Keyword
+' '           Text.Whitespace
+'('           Punctuation
+'member1'     Name.Other
+','           Punctuation
+' '           Text.Whitespace
+'member2'     Name.Other
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'super'       Keyword
+'  '          Text.Whitespace
+'('           Punctuation
+'member1'     Name.Other
+','           Punctuation
+'member2'     Name.Other
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'super'       Keyword
+'   '         Text.Whitespace
+'('           Punctuation
+'member1'     Name.Other
+','           Punctuation
+'\n'          Text.Whitespace
+
+'member2'     Name.Other
+')'           Punctuation
+'\n'          Text.Whitespace
index 798f00472b23aab16822df61a8125b800c5ee270..183de17897e398cc8af0d64051b2eee8d9fcb9b8 100644 (file)
@@ -11,14 +11,14 @@ julia> @. f(1:2)
 
 ---tokens---
 'julia>'      Generic.Prompt
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '('           Punctuation
 'x'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'sin'         Name
 '('           Punctuation
 'π'           Name.Builtin
@@ -26,23 +26,23 @@ julia> @. f(1:2)
 '2'           Literal.Number.Integer
 'x'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f (generic function with 1 method)\n' Generic.Output
 
 '\n'          Generic.Output
 
 'julia>'      Generic.Prompt
-' '           Text
+' '           Text.Whitespace
 '@.'          Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '('           Punctuation
 '1'           Literal.Number.Integer
 ':'           Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '2-element Vector{Float64}:\n' Generic.Output
 
index 235c411cb4b6e96c155e17ae1760dbb5d75aeefb..10166d6742853866e7113f9e5a13025bb67c474e 100644 (file)
@@ -12,78 +12,90 @@ primitive   type MyPrimitive 32 end
 mutable     struct MutableType end
 
 ---tokens---
-'mutable struct' Keyword
+'mutable'     Keyword
+' '           Text.Whitespace
+'struct'      Keyword
 ' '           Text
 'MutableType' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 'struct'      Keyword
 ' '           Text
 'ImmutableType' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'abstract type' Keyword
+'abstract'    Keyword
+' '           Text.Whitespace
+'type'        Keyword
 ' '           Text
 'AbstractMyType' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'primitive type' Keyword
+'primitive'   Keyword
+' '           Text.Whitespace
+'type'        Keyword
 ' '           Text
 'MyPrimitive' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'abstract'    Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'mutable'     Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'type'        Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'π'           Name.Builtin
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'missing'     Name.Builtin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
-'abstract    type' Keyword
+'abstract'    Keyword
+'    '        Text.Whitespace
+'type'        Keyword
 ' '           Text
 'AbstractMyType' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'primitive \ttype' Keyword
+'primitive'   Keyword
+' \t'         Text.Whitespace
+'type'        Keyword
 ' '           Text
 'MyPrimitive' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '32'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
-'mutable     struct' Keyword
+'mutable'     Keyword
+'     '       Text.Whitespace
+'struct'      Keyword
 ' '           Text
 'MutableType' Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'end'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
index 8dc27187a2d4a3e83e248be495f8f46ec6f5a57a..43d67e0faff1ae0bdb20e9c85f7b30a5de58fe14 100644 (file)
 
 ---tokens---
 '@generated'  Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@.'          Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@~'          Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@±'          Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@mymacro'    Name.Decorator
 '('           Punctuation
 'a'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@+¹ᵀ'        Name.Decorator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-'\n'          Text
+'\n'          Text.Whitespace
index 338f483f9d7a57166a4e4df8ca1d1bc345de5738..62c0b55d22f3e3945157926d7a41c50cdc78537f 100644 (file)
@@ -33,116 +33,116 @@ A² # category No
 
 ---tokens---
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '# single character variable' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a_simple_name' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '_leading_underscore' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '5'           Literal.Number.Integer
 'implicit_mul' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '6'           Literal.Number.Integer
 '_more_mul'   Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nums1'       Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nums_2'      Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'nameswith!'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'multiple!!'  Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'embedded!_inthemiddle' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'embed!1'     Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'prime_suffix′' Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'for_each'    Name
-' '           Text
+' '           Text.Whitespace
 '# starts with keyword substring' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# variables with characters > \\u00A1' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ð'           Name
-' '           Text
+' '           Text.Whitespace
 '# category Ll' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Aʺ'          Name
-' '           Text
+' '           Text.Whitespace
 '# category Lm -- \\U02BA (MODIFIER LETTER DOUBLE PRIME), not \\U2033 (DOUBLE PRIME)' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'א'           Name
-' '           Text
+' '           Text.Whitespace
 '# category Lo' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Ð'           Name
-' '           Text
+' '           Text.Whitespace
 '# category Lu' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'A̅'          Name
-' '           Text
+' '           Text.Whitespace
 '# category Mn -- \\U0305 (COMBINING OVERLINE)' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'ⅿ'           Name
-' '           Text
+' '           Text.Whitespace
 '# category Nl -- \\U217F (SMALL ROMAN NUMERAL ONE THOUSAND)' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'A₁'          Name
-' '           Text
+' '           Text.Whitespace
 '# category No' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'A²'          Name
-' '           Text
+' '           Text.Whitespace
 '# category No' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '€'           Name
-' '           Text
+' '           Text.Whitespace
 '# category Sc' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '©'           Name
-' '           Text
+' '           Text.Whitespace
 '# category So' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# number-like names' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '𝟙'           Name
-' '           Text
+' '           Text.Whitespace
 '# category Nd' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '𝟏'           Name
-' '           Text
+' '           Text.Whitespace
 '# category Nd' Comment
-'\n'          Text
+'\n'          Text.Whitespace
index 5c57243890e34f0bdae0dd544f75b5ead0896111..66f1fd0fdbaf0c9e6bb12fd2f0a20b8bf07df0af 100644 (file)
 
 ---tokens---
 '# floats'    Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'  '          Text
+'  '          Text.Whitespace
 '1e1'         Literal.Number.Float
-'   '         Text
+'   '         Text.Whitespace
 '1e+1'        Literal.Number.Float
-'   '         Text
+'   '         Text.Whitespace
 '1e-1'        Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1.1e1'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1e+1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1e-1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e1'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1_1e1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1_1.1e1'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1_1e1'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1_11e1'    Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1.1E1'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1E+1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1E-1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1E1'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1_1E1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1_1.1E1'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1_1E1'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1_11E1'    Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1.1f1'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1f+1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1f-1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1f1'        Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1_1f1'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1_1.1f1'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1_1f1'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1.1_11f1'    Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1E1'         Literal.Number.Float
-'   '         Text
+'   '         Text.Whitespace
 '1E+1'        Literal.Number.Float
-'   '         Text
+'   '         Text.Whitespace
 '1E-1'        Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1f1'         Literal.Number.Float
-'   '         Text
+'   '         Text.Whitespace
 '1f+1'        Literal.Number.Float
-'   '         Text
+'   '         Text.Whitespace
 '1f-1'        Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '.1'          Literal.Number.Float
-'  '          Text
+'  '          Text.Whitespace
 '1.'          Literal.Number.Float
-'  '          Text
+'  '          Text.Whitespace
 '1.1'         Literal.Number.Float
-'  '          Text
+'  '          Text.Whitespace
 '1.1_1'       Literal.Number.Float
-'  '          Text
+'  '          Text.Whitespace
 '1.1_11'      Literal.Number.Float
-'  '          Text
+'  '          Text.Whitespace
 '.1_1'        Literal.Number.Float
-'  '          Text
+'  '          Text.Whitespace
 '.1_11'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '1_1.1_1'     Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# hex floats' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0x1p1'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0xa_bp10'    Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0x01_ap11'   Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0x01_abp1'   Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0x1.1p1'     Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0xA.Bp10'    Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0x0.1_Ap9'   Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0x0_1.Ap1'   Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '0x0_1.A_Bp9' Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# integers'  Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '01'          Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '10_1'        Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 '10_11'       Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# non-decimal' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0xf'         Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '0xf_0'       Literal.Number.Hex
-' '           Text
+' '           Text.Whitespace
 '0xfff_000'   Literal.Number.Hex
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0o7'         Literal.Number.Oct
-' '           Text
+' '           Text.Whitespace
 '0o7_0'       Literal.Number.Oct
-' '           Text
+' '           Text.Whitespace
 '0o777_000'   Literal.Number.Oct
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0b1'         Literal.Number.Bin
-' '           Text
+' '           Text.Whitespace
 '0b1_0'       Literal.Number.Bin
-' '           Text
+' '           Text.Whitespace
 '0b111_000'   Literal.Number.Bin
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# invalid in Julia - out of range values' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '0'           Literal.Number.Integer
 'xg'          Name
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 'o8'          Name
-' '           Text
+' '           Text.Whitespace
 '0'           Literal.Number.Integer
 'b2'          Name
-' '           Text
+' '           Text.Whitespace
 '0x1'         Literal.Number.Hex
 'pA'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# invalid in Julia - no trailing underscores' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
 '_'           Name
-' '           Text
+' '           Text.Whitespace
 '1.1'         Literal.Number.Float
 '_'           Name
-' '           Text
+' '           Text.Whitespace
 '0xf'         Literal.Number.Hex
 '_'           Name
-' '           Text
+' '           Text.Whitespace
 '0o7'         Literal.Number.Oct
 '_'           Name
-' '           Text
+' '           Text.Whitespace
 '0b1'         Literal.Number.Bin
 '_'           Name
-' '           Text
+' '           Text.Whitespace
 '0xF'         Literal.Number.Hex
 '_p1'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# parsed as juxtaposed numeral + variable in Julia (no underscores in exponents)' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1e1'         Literal.Number.Float
 '_1'          Name
-' '           Text
+' '           Text.Whitespace
 '1E1'         Literal.Number.Float
 '_1'          Name
-' '           Text
+' '           Text.Whitespace
 '1f1'         Literal.Number.Float
 '_1'          Name
-' '           Text
+' '           Text.Whitespace
 '0xfp1'       Literal.Number.Float
 '_1'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# not floats -- range-like expression parts' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
 '..'          Operator
 '1'           Literal.Number.Integer
-'  '          Text
+'  '          Text.Whitespace
 '..'          Operator
 '1'           Literal.Number.Integer
-'  '          Text
+'  '          Text.Whitespace
 '1'           Literal.Number.Integer
 '..'          Operator
-'\n'          Text
+'\n'          Text.Whitespace
index 017a48e9c0bd6ae2666fe178ae8d182b6984adb8..c3c0f9f6f13e2f85b2a9d554a1da69e90700aecf 100644 (file)
@@ -22,151 +22,151 @@ suffixed +¹²³ operator
 
 ---tokens---
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+='          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
 '.'           Operator
 'c'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '.÷='         Operator
-' '           Text
+' '           Text.Whitespace
 '.~'          Operator
 'b'           Name
 '.'           Operator
 'c'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '!'           Operator
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '⋆'           Operator
-' '           Text
+' '           Text.Whitespace
 'c!'          Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-' '           Text
+' '           Text.Whitespace
 '?'           Operator
-' '           Text
+' '           Text.Whitespace
 'c'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Operator
-' '           Text
+' '           Text.Whitespace
 'd'           Name
-' '           Text
+' '           Text.Whitespace
 '⊕'           Operator
-' '           Text
+' '           Text.Whitespace
 'e'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '√'           Operator
 '('           Punctuation
 '5'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '->'          Operator
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name
 '...'         Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '.+'          Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '\\'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
 '..'          Operator
 '2'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '==='         Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'T'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '>:'          Operator
-' '           Text
+' '           Text.Whitespace
 'T'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
 '::'          Operator
 'T'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 '['           Punctuation
 'adjoint'     Name
 ']'           Punctuation
 "'"           Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 '('           Punctuation
 'identity'    Name
 ')'           Punctuation
 "''"          Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'adjoint'     Name
 "'''"         Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'transpose'   Name
 "'ᵀ"          Operator
-'\n'          Text
+'\n'          Text.Whitespace
 
 'suffixed'    Name
-' '           Text
+' '           Text.Whitespace
 '+¹'          Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'suffixed'    Name
-' '           Text
+' '           Text.Whitespace
 '+¹²³'        Operator
-' '           Text
+' '           Text.Whitespace
 'operator'    Name
-'\n'          Text
+'\n'          Text.Whitespace
index 436bfe3c3a740c1c1634cc85f1bcea7fc16779f7..d5f91bff464dd6b8d36ea82f89a9565dae0d39aa 100644 (file)
@@ -44,33 +44,33 @@ arbi`trary`1234
 '"'           Literal.String
 'global function' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'An '         Literal.String
 '$interpolated' Literal.String.Interpol
 ' variable'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'An '         Literal.String
 '$'           Literal.String.Interpol
 '('           Punctuation
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 ' expression' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"""'         Literal.String
 'a'           Literal.String
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"""'         Literal.String
 '\nglobal function\nde e f\n' Literal.String
@@ -81,7 +81,7 @@ arbi`trary`1234
 '\n'          Literal.String
 
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'raw'         Literal.String.Affix
 '"'           Literal.String
@@ -90,70 +90,70 @@ arbi`trary`1234
 ' $interp $(1 + 1) ' Literal.String
 '\\"'         Literal.String.Escape
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'raw'         Literal.String.Affix
 '"""'         Literal.String
 '\n"inner string"\n$interp\n$(1 + 1)\n' Literal.String
 
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# commented "string"' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '@sprintf'    Name.Decorator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 '%0.2f'       Literal.String.Interpol
 '"'           Literal.String
-' '           Text
+' '           Text.Whitespace
 'var'         Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'v'           Literal.String.Affix
 '"'           Literal.String
 '1.0'         Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 'var'         Literal.String.Affix
 '"'           Literal.String
 '#nonstandard#' Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'r'           Literal.String.Affix
 '"'           Literal.String.Regex
 '^[abs]+$'    Literal.String.Regex
 '"'           Literal.String.Regex
 'm'           Literal.String.Affix
-'\n'          Text
+'\n'          Text.Whitespace
 
 'arbi'        Literal.String.Affix
 '"'           Literal.String
 'trary'       Literal.String
 '"'           Literal.String
 'suff'        Literal.String.Affix
-'\n'          Text
+'\n'          Text.Whitespace
 
 'arbi'        Literal.String.Affix
 '"'           Literal.String
 'trary'       Literal.String
 '"'           Literal.String
 '1234'        Literal.String.Affix
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '`'           Literal.String.Backtick
 'global function' Literal.String.Backtick
 '`'           Literal.String.Backtick
-'\n'          Text
+'\n'          Text.Whitespace
 
 '`'           Literal.String.Backtick
 'abc '        Literal.String.Backtick
@@ -163,25 +163,25 @@ arbi`trary`1234
 ' '           Literal.String.Backtick
 '$interpolated' Literal.String.Interpol
 '`'           Literal.String.Backtick
-'\n'          Text
+'\n'          Text.Whitespace
 
 '`'           Literal.String.Backtick
 'abc '        Literal.String.Backtick
 '$'           Literal.String.Interpol
 '('           Punctuation
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+'           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
 ')'           Punctuation
 '`'           Literal.String.Backtick
-'\n'          Text
+'\n'          Text.Whitespace
 
 '```'         Literal.String.Backtick
 'a'           Literal.String.Backtick
 '```'         Literal.String.Backtick
-'\n'          Text
+'\n'          Text.Whitespace
 
 '```'         Literal.String.Backtick
 '\nglobal function\n"thing" ' Literal.String.Backtick
@@ -203,23 +203,23 @@ arbi`trary`1234
 '\n'          Literal.String.Backtick
 
 '```'         Literal.String.Backtick
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# commented `command`' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 'arbi'        Literal.String.Affix
 '`'           Literal.String.Backtick
 'trary'       Literal.String.Backtick
 '`'           Literal.String.Backtick
 'suff'        Literal.String.Affix
-'\n'          Text
+'\n'          Text.Whitespace
 
 'arbi'        Literal.String.Affix
 '`'           Literal.String.Backtick
 'trary'       Literal.String.Backtick
 '`'           Literal.String.Backtick
 '1234'        Literal.String.Affix
-'\n'          Text
+'\n'          Text.Whitespace
index 8b85a8e1093a5d0e09e392e626972cbceac9929d..37b4f83051b2d0a5605cde3d9658dabaca5ef1ec 100644 (file)
@@ -17,54 +17,54 @@ UInt(1):UInt(2)
 
 ---tokens---
 ':abc_123'    Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 ':abc_def'    Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 ':α'          Literal.String.Symbol
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Val'         Keyword.Type
 '{'           Punctuation
 ':mysymbol'   Literal.String.Symbol
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
-'\n'          Text
+'\n'          Text.Whitespace
 
 '# non-symbols' Comment
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
 ':'           Operator
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1'           Literal.Number.Integer
 ':'           Operator
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 '1.'          Literal.Number.Float
 ':'           Operator
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Name
 '::'          Operator
 'T'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Keyword.Type
 '<:'          Operator
 'T'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'a'           Keyword.Type
 '>:'          Operator
 'T'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'UInt'        Keyword.Type
 '('           Punctuation
@@ -75,4 +75,4 @@ UInt(1):UInt(2)
 '('           Punctuation
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index dc475349181f136a3ce3f0e8add5904520582f92..16267fd8cca8d77777785e1d8c9ef2dc027cbadf 100644 (file)
@@ -20,16 +20,16 @@ g(C) <: T
 'Union'       Keyword.Type
 '{'           Punctuation
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'MyType'      Keyword.Type
 '{'           Punctuation
 'Nothing'     Keyword.Type
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Any'         Keyword.Type
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
@@ -41,36 +41,36 @@ g(C) <: T
 'S'           Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'where'       Keyword
-' '           Text
+' '           Text.Whitespace
 'S'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 'where'       Keyword
-' '           Text
+' '           Text.Whitespace
 'T'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
 '::'          Operator
 'T'           Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'where'       Keyword
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
 'T'           Keyword.Type
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
@@ -81,35 +81,35 @@ g(C) <: T
 'T'           Keyword.Type
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
 '::'          Operator
 'AT'          Keyword.Type
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'where'       Keyword
-' '           Text
+' '           Text.Whitespace
 'AT'          Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'AbstractArray' Keyword.Type
 '{'           Punctuation
 'MyType'      Keyword.Type
 ','           Punctuation
 '1'           Literal.Number.Integer
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
@@ -119,11 +119,11 @@ g(C) <: T
 ':named'      Literal.String.Symbol
 '}'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'f'           Name
 '('           Punctuation
@@ -133,25 +133,25 @@ g(C) <: T
 'sin'         Name
 ')'           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '1'           Literal.Number.Integer
-'\n'          Text
+'\n'          Text.Whitespace
 
 'MyInt'       Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'Integer'     Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'Number'      Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '>:'          Operator
-' '           Text
+' '           Text.Whitespace
 'MyInt'       Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'AT'          Keyword.Type
 '{'           Punctuation
@@ -159,11 +159,11 @@ g(C) <: T
 ','           Punctuation
 '1'           Literal.Number.Integer
 '}'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'B'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
 
 'B'           Keyword.Type
 '>:'          Operator
@@ -173,24 +173,24 @@ g(C) <: T
 ','           Punctuation
 '1'           Literal.Number.Integer
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'A'           Keyword.Type
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'f'           Name
 '('           Punctuation
 'B'           Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'g'           Name
 '('           Punctuation
 'C'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '<:'          Operator
-' '           Text
+' '           Text.Whitespace
 'T'           Keyword.Type
-'\n'          Text
+'\n'          Text.Whitespace
index 36f3577d130c5f3dbdf058da45e067762d34bd46..6b2508a52df566002891fbde432abe057b5309ab 100644 (file)
@@ -5,9 +5,9 @@ s = √((1/n) * sum(count .^ 2) - mu .^2)
 
 ---tokens---
 's'           Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '√'           Operator
 '('           Punctuation
 '('           Punctuation
@@ -15,23 +15,23 @@ s = √((1/n) * sum(count .^ 2) - mu .^2)
 '/'           Operator
 'n'           Name
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '*'           Operator
-' '           Text
+' '           Text.Whitespace
 'sum'         Name
 '('           Punctuation
 'count'       Name
-' '           Text
+' '           Text.Whitespace
 '.^'          Operator
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '-'           Operator
-' '           Text
+' '           Text.Whitespace
 'mu'          Name
-' '           Text
+' '           Text.Whitespace
 '.^'          Operator
 '2'           Literal.Number.Integer
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index 8a880a559793c27702fe380d18edb02cde1b7395..8fc7f3d75141905d8a7fdbb7080c96f9ca4a83bf 100644 (file)
@@ -3,25 +3,25 @@ val (a: List<Something>, b: Set<Wobble>) =
 
 ---tokens---
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name
 '<'           Operator
 'Something'   Name
 '>'           Operator
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Set'         Name
 '<'           Operator
 'Wobble'      Name
 '>'           Operator
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-'\n'          Text
+'\n'          Text.Whitespace
index ab2ef6d81669e546e05736149ed80e47b29c5b1d..c89c0ef402c463c596f5c68875e78c4b22c7658c 100644 (file)
@@ -3,6 +3,6 @@ fun `wo bble`
 
 ---tokens---
 'fun'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '`wo bble`'   Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
index 6d3c4ec3e706af2c7711fea9fa2cac44809fb41b..7b2aed77c0f1e7c1c5aab929069f8f7e32221a1d 100644 (file)
@@ -3,6 +3,6 @@ fun `wo,-bble`
 
 ---tokens---
 'fun'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '`wo,-bble`'  Name.Function
-'\n'          Text
+'\n'          Text.Whitespace
index b51c1e049851abc9433d52dadd0a118f86e10536..3db6ed98ec529ed71aebd5b96fddda63d6cc5bbb 100644 (file)
@@ -3,14 +3,14 @@ val (a, b) =
 
 ---tokens---
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'a'           Name.Variable
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'b'           Name.Variable
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
-'\n'          Text
+' '           Text.Whitespace
+'\n'          Text.Whitespace
index ed616ec3fde62542c72d364a83d0b038b4834548..09eb61f961925a801b83646c8bfdd551e394ed0d 100644 (file)
@@ -3,32 +3,32 @@ inline fun <reified T : ContractState> VaultService.queryBy(): Vault.Page<T> {
 
 ---tokens---
 'inline'      Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'fun'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 '<'           Operator
 'reified'     Keyword
-' '           Text
+' '           Text.Whitespace
 'T'           Name
-' '           Text
+' '           Text.Whitespace
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'ContractState' Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 'VaultService' Name
 '.'           Punctuation
 'queryBy'     Name.Function
 '('           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Vault'       Name
 '.'           Punctuation
 'Page'        Name.Attribute
 '<'           Operator
 'T'           Name
 '>'           Operator
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index b30f65b9b2848481e327448c4ddd162f0ff447fa..730c0a5c02f53b751197f62b7ee9ed236d61365c 100644 (file)
@@ -3,16 +3,16 @@ data class A(val data: String)
 
 ---tokens---
 'data'        Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'class'       Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'A'           Name.Class
 '('           Punctuation
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'data'        Name.Variable
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Keyword.Type
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index ee7c3275a8dbcbd2c8fff01f1fa23777ec72b5c8..33ec204671f60d9a1e5360e1f05c2e69c7bcd919 100644 (file)
@@ -9,4 +9,4 @@ comment"""
 '"""'         Literal.String
 '\nthis\nis\na\ncomment' Literal.String
 '"""'         Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
index c254f112c35dce745b079b65befd5cbedd624164..04ea2540ac79da4423c56fbbdf247885e4b2b2f8 100644 (file)
@@ -5,22 +5,22 @@ val something = "something"
 
 ---tokens---
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'something'   Name.Variable
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '"'           Literal.String
 'something'   Literal.String
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'Here is '    Literal.String
 '$'           Literal.String.Interpol
 'something'   Name
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
 
 '"'           Literal.String
 'Here is '    Literal.String
@@ -32,4 +32,4 @@ val something = "something"
 ')'           Punctuation
 '}'           Literal.String.Interpol
 '"'           Literal.String
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/snippets/mcfunction/commenting.txt b/tests/snippets/mcfunction/commenting.txt
new file mode 100644 (file)
index 0000000..7a5a37d
--- /dev/null
@@ -0,0 +1,173 @@
+---input---
+#> Get: #rx.playerdb:api/v2/get
+#>
+#> @input
+#>  $in.uid rx.io
+#>
+#> @output
+#>  rx.playerdb:io player
+#
+# Selects data inside the database and copies to rx.playerdb:io player
+# See #api/v2/select for more info..
+# 
+#* Note: something, something, this is important..
+
+# Normal Comment
+
+# This **shouldn't** be a comment..
+scoreboard players operation @s obj = #fakeplayer obj
+
+#> single line block comment
+tellraw @a "This string # has # hashtags o_O"
+
+---tokens---
+'#>'          Comment.Multiline
+' '           Text.Whitespace
+'Get:'        Literal.String.Doc
+' '           Text.Whitespace
+'#rx.playerdb:api/v2/get' Name.Function
+'\n'          Text
+
+'#>'          Comment.Multiline
+'\n'          Text
+
+'#>'          Comment.Multiline
+' '           Text.Whitespace
+'@input'      Name.Decorator
+'\n'          Text
+
+'#>'          Comment.Multiline
+'  '          Text.Whitespace
+'$in.uid'     Name.Variable.Magic
+' '           Text.Whitespace
+'rx.io'       Literal.String.Doc
+'\n'          Text
+
+'#>'          Comment.Multiline
+'\n'          Text
+
+'#>'          Comment.Multiline
+' '           Text.Whitespace
+'@output'     Name.Decorator
+'\n'          Text
+
+'#>'          Comment.Multiline
+'  '          Text.Whitespace
+'rx.playerdb:io' Name.Function
+' '           Text.Whitespace
+'player'      Literal.String.Doc
+'\n'          Text
+
+'#'           Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+' '           Text.Whitespace
+'Selects'     Comment.Multiline
+' '           Text.Whitespace
+'data'        Comment.Multiline
+' '           Text.Whitespace
+'inside'      Comment.Multiline
+' '           Text.Whitespace
+'the'         Comment.Multiline
+' '           Text.Whitespace
+'database'    Comment.Multiline
+' '           Text.Whitespace
+'and'         Comment.Multiline
+' '           Text.Whitespace
+'copies'      Comment.Multiline
+' '           Text.Whitespace
+'to'          Comment.Multiline
+' '           Text.Whitespace
+'rx.playerdb:io' Name.Function
+' '           Text.Whitespace
+'player'      Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+' '           Text.Whitespace
+'See'         Comment.Multiline
+' '           Text.Whitespace
+'#api/v2/select' Name.Function
+' '           Text.Whitespace
+'for'         Comment.Multiline
+' '           Text.Whitespace
+'more'        Comment.Multiline
+' '           Text.Whitespace
+'info..'      Comment.Multiline
+'\n'          Text
+
+'#'           Comment.Multiline
+' \n'         Text.Whitespace
+
+'#*'          Comment.Multiline
+' '           Text.Whitespace
+'Note:'       Comment.Multiline
+' '           Text.Whitespace
+'something,'  Comment.Multiline
+' '           Text.Whitespace
+'something,'  Comment.Multiline
+' '           Text.Whitespace
+'this'        Comment.Multiline
+' '           Text.Whitespace
+'is'          Comment.Multiline
+' '           Text.Whitespace
+'important..' Comment.Multiline
+'\n'          Text
+
+'\n#'         Comment.Multiline
+' '           Text.Whitespace
+'Normal'      Comment.Multiline
+' '           Text.Whitespace
+'Comment'     Comment.Multiline
+'\n'          Text
+
+'\n#'         Comment.Multiline
+' '           Text.Whitespace
+'This'        Comment.Multiline
+' '           Text.Whitespace
+"**shouldn't**" Comment.Multiline
+' '           Text.Whitespace
+'be'          Comment.Multiline
+' '           Text.Whitespace
+'a'           Comment.Multiline
+' '           Text.Whitespace
+'comment..'   Comment.Multiline
+'\n'          Text
+
+'scoreboard'  Name.Builtin
+' '           Text.Whitespace
+'players'     Keyword.Constant
+' '           Text.Whitespace
+'operation'   Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+' '           Text.Whitespace
+'obj'         Keyword.Constant
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'#fakeplayer' Name.Variable.Magic
+' '           Text.Whitespace
+'obj'         Keyword.Constant
+'\n\n'        Text.Whitespace
+
+'#>'          Comment.Multiline
+' '           Text.Whitespace
+'single'      Literal.String.Doc
+' '           Text.Whitespace
+'line'        Literal.String.Doc
+' '           Text.Whitespace
+'block'       Literal.String.Doc
+' '           Text.Whitespace
+'comment'     Literal.String.Doc
+'\n'          Text
+
+'tellraw'     Name.Builtin
+' '           Text.Whitespace
+'@a'          Name.Variable
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'This string # has # hashtags o_O' Literal.String.Double
+'"'           Literal.String.Double
+'\n'          Text.Whitespace
diff --git a/tests/snippets/mcfunction/coordinates.txt b/tests/snippets/mcfunction/coordinates.txt
new file mode 100644 (file)
index 0000000..d5398bc
--- /dev/null
@@ -0,0 +1,188 @@
+---input---
+# normal
+tp 1 2 3
+tp 100.5 80 -100.5
+
+# relative
+tp 10 ~ -10
+tp 10 ~10 -10
+tp 10 ~0.5 -10
+tp 10 ~.5 -10
+tp 10 ~-10 -10
+tp 10 ~-0.5 -10
+tp 10 ~-.5 -10
+
+# carrot
+tp 10 ^ -10
+tp 10 ^10 -10
+tp 10 ^0.5 -10
+tp 10 ^.5 -10
+tp 10 ^-10 -10
+tp 10 ^-0.5 -10
+tp 10 ^-.5 -10
+
+---tokens---
+'# normal'    Comment.Single
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'1'           Literal.Number.Float
+' '           Text.Whitespace
+'2'           Literal.Number.Float
+' '           Text.Whitespace
+'3'           Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'100.5'       Literal.Number.Float
+' '           Text.Whitespace
+'80'          Literal.Number.Float
+' '           Text.Whitespace
+'-100.5'      Literal.Number.Float
+'\n\n'        Text.Whitespace
+
+'# relative'  Comment.Single
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'0.5'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'.5'          Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'-0.5'        Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'~'           Operator
+'-.5'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n\n'        Text.Whitespace
+
+'# carrot'    Comment.Single
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'0.5'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'.5'          Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'-10'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'-0.5'        Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
+
+'tp'          Name.Builtin
+' '           Text.Whitespace
+'10'          Literal.Number.Float
+' '           Text.Whitespace
+'^'           Operator
+'-.5'         Literal.Number.Float
+' '           Text.Whitespace
+'-10'         Literal.Number.Float
+'\n'          Text.Whitespace
diff --git a/tests/snippets/mcfunction/data.txt b/tests/snippets/mcfunction/data.txt
new file mode 100644 (file)
index 0000000..440d668
--- /dev/null
@@ -0,0 +1,120 @@
+---input---
+data modify storage my:storage root set value {
+    key: "This NBT Compound is multiple lines",
+    Count: 10b,
+    tags: [
+        0,
+        1,
+    ],
+    UUID
+}
+
+tellraw @a {
+    "text": "how ever",
+    "color": "blue",
+    "extra": [
+        "this is json o_O"
+    ]
+}
+
+---tokens---
+'data'        Name.Builtin
+' '           Text.Whitespace
+'modify'      Keyword.Constant
+' '           Text.Whitespace
+'storage'     Keyword.Constant
+' '           Text.Whitespace
+'my:storage'  Name.Function
+' '           Text.Whitespace
+'root'        Keyword.Constant
+' '           Text.Whitespace
+'set'         Keyword.Constant
+' '           Text.Whitespace
+'value'       Keyword.Constant
+' '           Text.Whitespace
+'{'           Punctuation
+'\n    '      Text.Whitespace
+'key'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'This NBT Compound is multiple lines' Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+'\n    '      Text.Whitespace
+'Count'       Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'10'          Literal.Number.Integer
+'b'           Name.Attribute
+','           Punctuation
+'\n    '      Text.Whitespace
+'tags'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'\n        '  Text.Whitespace
+'0'           Literal.Number.Integer
+','           Punctuation
+'\n        '  Text.Whitespace
+'1'           Literal.Number.Integer
+','           Punctuation
+'\n    '      Text.Whitespace
+']'           Punctuation
+','           Punctuation
+'\n    '      Text.Whitespace
+'UUID'        Name.Attribute
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+'\n\n'        Text.Whitespace
+
+'tellraw'     Name.Builtin
+' '           Text.Whitespace
+'@a'          Name.Variable
+' '           Text.Whitespace
+'{'           Punctuation
+'\n    '      Text.Whitespace
+'"'           Name.Attribute
+'text'        Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'how ever'    Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+'\n    '      Text.Whitespace
+'"'           Name.Attribute
+'color'       Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'blue'        Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+'\n    '      Text.Whitespace
+'"'           Name.Attribute
+'extra'       Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'\n        '  Text.Whitespace
+'"'           Name.Attribute
+'this'        Name.Attribute
+' '           Text.Whitespace
+'is'          Name.Attribute
+' '           Text.Whitespace
+'json'        Name.Attribute
+' '           Text.Whitespace
+'o_'          Name.Attribute
+'O'           Name.Attribute
+'"'           Name.Attribute
+'\n    '      Text.Whitespace
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+'\n'          Text.Whitespace
diff --git a/tests/snippets/mcfunction/difficult_1.txt b/tests/snippets/mcfunction/difficult_1.txt
new file mode 100644 (file)
index 0000000..f9ad1bc
--- /dev/null
@@ -0,0 +1,56 @@
+---input---
+# execute as @e[nbt={ Item: {id: "minecraft:diamond", Count: 64 } }] run
+# setblock ~ ~ ~ minecraft:dispenser[facing=up]{Items: [{id: "minecraft:diamond", Count: 1}]}
+# tellraw @a [{"text": "hello", "color": "blue"}, {"text": "world", "color": "blue"}]
+
+execute as @a[advancements={minecraft:story/form_obsidian={foo=true, bar=false},minecraft:story/follow_ender_eye={foo=false, bar=true}}] run
+
+---tokens---
+'# execute as @e[nbt={ Item: {id: "minecraft:diamond", Count: 64 } }] run' Comment.Single
+'\n'          Text.Whitespace
+
+'# setblock ~ ~ ~ minecraft:dispenser[facing=up]{Items: [{id: "minecraft:diamond", Count: 1}]}' Comment.Single
+'\n'          Text.Whitespace
+
+'# tellraw @a [{"text": "hello", "color": "blue"}, {"text": "world", "color": "blue"}]' Comment.Single
+'\n\n'        Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'advancements' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'minecraft:story/form_obsidian' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'foo'         Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Attribute
+'='           Punctuation
+'false'       Name.Tag
+'}'           Punctuation
+','           Punctuation
+'minecraft:story/follow_ender_eye' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'foo'         Name.Attribute
+'='           Punctuation
+'false'       Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+'}'           Punctuation
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n'          Text.Whitespace
diff --git a/tests/snippets/mcfunction/multiline.txt b/tests/snippets/mcfunction/multiline.txt
new file mode 100644 (file)
index 0000000..1587910
--- /dev/null
@@ -0,0 +1,108 @@
+---input---
+execute
+    as @a                               # For each "player",
+    at @s                               # start at their feet.
+    anchored eyes                       # Looking through their eyes,
+    facing 0 0 0                        # face perfectly at the target
+    anchored feet                       # (go back to the feet)
+    positioned ^ ^ ^1                   # and move one block forward.
+    rotated as @s                       # Face the direction the player
+                                           # is actually facing,
+    positioned ^ ^ ^-1                  # and move one block back.
+    if entity @s[distance=..0.6]        # Check if we're close to the
+                                           # player's feet.
+    run 
+        say "I'm facing the target!"
+
+---tokens---
+'execute'     Name.Builtin
+'\n    '      Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'                               ' Text.Whitespace
+'# For each "player",' Comment.Single
+'\n    '      Text.Whitespace
+'at'          Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+'                               ' Text.Whitespace
+'# start at their feet.' Comment.Single
+'\n    '      Text.Whitespace
+'anchored'    Keyword.Constant
+' '           Text.Whitespace
+'eyes'        Keyword.Constant
+'                       ' Text.Whitespace
+'# Looking through their eyes,' Comment.Single
+'\n    '      Text.Whitespace
+'facing'      Keyword.Constant
+' '           Text.Whitespace
+'0'           Literal.Number.Float
+' '           Text.Whitespace
+'0'           Literal.Number.Float
+' '           Text.Whitespace
+'0'           Literal.Number.Float
+'                        ' Text.Whitespace
+'# face perfectly at the target' Comment.Single
+'\n    '      Text.Whitespace
+'anchored'    Keyword.Constant
+' '           Text.Whitespace
+'feet'        Keyword.Constant
+'                       ' Text.Whitespace
+'# (go back to the feet)' Comment.Single
+'\n    '      Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'^'           Operator
+'1'           Literal.Number.Float
+'                   ' Text.Whitespace
+'# and move one block forward.' Comment.Single
+'\n    '      Text.Whitespace
+'rotated'     Keyword.Constant
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+'                       ' Text.Whitespace
+'# Face the direction the player' Comment.Single
+'\n                                           ' Text.Whitespace
+'# is actually facing,' Comment.Single
+'\n    '      Text.Whitespace
+'positioned'  Keyword.Constant
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'^'           Operator
+' '           Text.Whitespace
+'^'           Operator
+'-1'          Literal.Number.Float
+'                  ' Text.Whitespace
+'# and move one block back.' Comment.Single
+'\n    '      Text.Whitespace
+'if'          Keyword.Constant
+' '           Text.Whitespace
+'entity'      Keyword.Constant
+' '           Text.Whitespace
+'@s'          Name.Variable
+'['           Punctuation
+'distance'    Name.Attribute
+'='           Punctuation
+'..'          Literal
+'0.6'         Literal.Number.Float
+']'           Punctuation
+'        '    Text.Whitespace
+"# Check if we're close to the" Comment.Single
+'\n                                           ' Text.Whitespace
+"# player's feet." Comment.Single
+'\n    '      Text.Whitespace
+'run'         Keyword.Constant
+' \n        say' Name.Builtin
+' '           Text.Whitespace
+'"'           Literal.String.Double
+"I'm facing the target!" Literal.String.Double
+'"'           Literal.String.Double
+'\n'          Text.Whitespace
diff --git a/tests/snippets/mcfunction/selectors.txt b/tests/snippets/mcfunction/selectors.txt
new file mode 100644 (file)
index 0000000..ea69c78
--- /dev/null
@@ -0,0 +1,73 @@
+---input---
+execute
+    as @a[
+        advancements={
+            minecraft:story/form_obsidian={
+                foo=true,
+                bar=false
+            },
+            minecraft:story/follow_ender_eye={
+                foo=false, bar=true
+            }
+        }
+    ] run
+        say this command is nuts
+
+---tokens---
+'execute'     Name.Builtin
+'\n    '      Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'\n        '  Text.Whitespace
+'advancements' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'\n            ' Text.Whitespace
+'minecraft:story/form_obsidian' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'\n                ' Text.Whitespace
+'foo'         Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+','           Punctuation
+'\n                ' Text.Whitespace
+'bar'         Name.Attribute
+'='           Punctuation
+'false'       Name.Tag
+'\n            ' Text.Whitespace
+'}'           Punctuation
+','           Punctuation
+'\n            ' Text.Whitespace
+'minecraft:story/follow_ender_eye' Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'\n                ' Text.Whitespace
+'foo'         Name.Attribute
+'='           Punctuation
+'false'       Name.Tag
+','           Punctuation
+' '           Text.Whitespace
+'bar'         Name.Attribute
+'='           Punctuation
+'true'        Name.Tag
+'\n            ' Text.Whitespace
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'}'           Punctuation
+'\n    '      Text.Whitespace
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+'\n        say' Name.Builtin
+' '           Text.Whitespace
+'this'        Keyword.Constant
+' '           Text.Whitespace
+'command'     Keyword.Constant
+' '           Text.Whitespace
+'is'          Keyword.Constant
+' '           Text.Whitespace
+'nuts'        Keyword.Constant
+'\n'          Text.Whitespace
diff --git a/tests/snippets/mcfunction/simple.txt b/tests/snippets/mcfunction/simple.txt
new file mode 100644 (file)
index 0000000..664c91c
--- /dev/null
@@ -0,0 +1,92 @@
+---input---
+#> This command looks for a player with 10 hp and prints a message
+# @param - @s = player
+
+execute as @a[name="rx", nbt={Health: 10.0f}] run tellraw @a {"text": "this is my cool command"}  # epic
+
+---tokens---
+'#>'          Comment.Multiline
+' '           Text.Whitespace
+'This'        Literal.String.Doc
+' '           Text.Whitespace
+'command'     Literal.String.Doc
+' '           Text.Whitespace
+'looks'       Literal.String.Doc
+' '           Text.Whitespace
+'for'         Literal.String.Doc
+' '           Text.Whitespace
+'a'           Literal.String.Doc
+' '           Text.Whitespace
+'player'      Literal.String.Doc
+' '           Text.Whitespace
+'with'        Literal.String.Doc
+' '           Text.Whitespace
+'10'          Literal.String.Doc
+' '           Text.Whitespace
+'hp'          Literal.String.Doc
+' '           Text.Whitespace
+'and'         Literal.String.Doc
+' '           Text.Whitespace
+'prints'      Literal.String.Doc
+' '           Text.Whitespace
+'a'           Literal.String.Doc
+' '           Text.Whitespace
+'message'     Literal.String.Doc
+'\n'          Text
+
+'#'           Comment.Multiline
+' '           Text.Whitespace
+'@param'      Name.Decorator
+' '           Text.Whitespace
+'-'           Comment.Multiline
+' '           Text.Whitespace
+'@s'          Name.Decorator
+' '           Text.Whitespace
+'='           Comment.Multiline
+' '           Text.Whitespace
+'player'      Comment.Multiline
+'\n'          Text
+
+'\n'          Text.Whitespace
+
+'execute'     Name.Builtin
+' '           Text.Whitespace
+'as'          Keyword.Constant
+' '           Text.Whitespace
+'@a'          Name.Variable
+'['           Punctuation
+'name'        Name.Attribute
+'='           Punctuation
+'"'           Literal.String.Double
+'rx'          Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+' '           Text.Whitespace
+'nbt'         Name.Attribute
+'='           Punctuation
+'{'           Punctuation
+'Health'      Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'10.0f'       Literal.Number.Float
+'}'           Punctuation
+']'           Punctuation
+' '           Text.Whitespace
+'run'         Keyword.Constant
+' tellraw'    Name.Builtin
+' '           Text.Whitespace
+'@a'          Name.Variable
+' '           Text.Whitespace
+'{'           Punctuation
+'"'           Name.Attribute
+'text'        Name.Attribute
+'"'           Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'this is my cool command' Literal.String.Double
+'"'           Literal.String.Double
+'}'           Punctuation
+'  '          Text.Whitespace
+'# epic'      Comment.Single
+'\n'          Text.Whitespace
index eeebed2edc13fdc33fbda95f809508a0d12eb6ab..8840fff2e196e3fb363900e800297efd2f6ed4e9 100644 (file)
@@ -3,31 +3,31 @@ def ::(xs: List[T]): List[T] = ::(x, xs)
 
 ---tokens---
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '::'          Name.Function
 '('           Punctuation
 'xs'          Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'List'        Name.Class
 '['           Punctuation
 'T'           Name.Class
 ']'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '::'          Name
 '('           Punctuation
 'x'           Name
 ','           Punctuation
-' '           Text
+' '           Text.Whitespace
 'xs'          Name
 ')'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index a82e5a064f04e6c20fc09da2290296affe5bb4d5..16ce948ebd09a46380db9cb017e324b0cb4a40a4 100644 (file)
@@ -3,35 +3,35 @@ def f(using y: Char = if true then 'a' else 2): Int = ???
 
 ---tokens---
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 'f'           Name.Function
 '('           Punctuation
 'using'       Keyword
-' '           Text
+' '           Text.Whitespace
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Char'        Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'if'          Keyword
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-' '           Text
+' '           Text.Whitespace
 'then'        Keyword
-' '           Text
+' '           Text.Whitespace
 "'a'"         Literal.String.Char
-' '           Text
+' '           Text.Whitespace
 'else'        Keyword
-' '           Text
+' '           Text.Whitespace
 '2'           Literal.Number.Integer
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Int'         Name.Class
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '???'         Operator
-'\n'          Text
+'\n'          Text.Whitespace
index 112cfafa519aa4a130b2170907190792bc58ee17..43ac172cb7f55245cb17e6e83ce3ac2346387a61 100644 (file)
@@ -3,6 +3,6 @@ end val
 
 ---tokens---
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'val'         Keyword
-'\n'          Text
+'\n'          Text.Whitespace
index e72c4041add97ebc2b46d2e2b0929c881fec64d7..e1d17d7179b1213198ebbd2b3494935e11d0ef0f 100644 (file)
@@ -3,6 +3,6 @@ end valx
 
 ---tokens---
 'end'         Keyword
-' '           Text
+' '           Text.Whitespace
 'valx'        Name.Namespace
-'\n'          Text
+'\n'          Text.Whitespace
index 9a702431dd8bd7fcd00f8fe613c80572402019a4..d64ee633c4169661c87c9d212fad66d5aeeca90b 100644 (file)
@@ -3,10 +3,10 @@
 
 ---tokens---
 '.1e12'       Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e+34'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e-56'      Literal.Number.Float
-' '           Text
+' '           Text.Whitespace
 '.1e12f'      Literal.Number.Float
-'\n'          Text
+'\n'          Text.Whitespace
index a1823f038e30f804db8999935138055509b5b853..72c375d4ae76b6ee34690d5b0c165c5bce878264 100644 (file)
@@ -3,16 +3,16 @@ def < (y: String): Boolean
 
 ---tokens---
 'def'         Keyword
-' '           Text
+' '           Text.Whitespace
 '<'           Name.Function
-' '           Text
+' '           Text.Whitespace
 '('           Punctuation
 'y'           Name
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'String'      Name.Class
 ')'           Punctuation
 ':'           Punctuation
-' '           Text
+' '           Text.Whitespace
 'Boolean'     Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
index fc8e5a2c63e3e8d68b05cdb68d7f462f2386ccdf..3e06d1fa42e0ccc47675f2f1d26a93f61799fdc9 100644 (file)
@@ -3,7 +3,7 @@ import a.b.c
 
 ---tokens---
 'import'      Keyword
-' '           Text
+' '           Text.Whitespace
 'a'           Name.Namespace
 '.'           Punctuation
 'b'           Name.Namespace
index 9af24e5314626a9b6c7ae36a09655e27475b9409..ccaae59cf8c54d0775de831da7b2910723c08616 100644 (file)
@@ -4,5 +4,5 @@
 ---tokens---
 "'"           Error
 '1'           Literal.Number.Integer
-' '           Text
+' '           Text.Whitespace
 "//'\n"       Comment.Single
index 800880ee673d8fa81af0db3faa57dc031164abf5..903be71d32e408bcf88cdc4198714c261a0787fa 100644 (file)
@@ -3,10 +3,10 @@ val open = true
 
 ---tokens---
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'open'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 'true'        Keyword.Constant
-'\n'          Text
+'\n'          Text.Whitespace
index 6b1f348255cb810a335edcd1c3a77168ca8b94d1..53633e2c9dbc0c39ede80824a6d6cdacbb229de0 100644 (file)
@@ -3,9 +3,9 @@ package p1.p2:
 
 ---tokens---
 'package'     Keyword
-' '           Text
+' '           Text.Whitespace
 'p1'          Name.Namespace
 '.'           Punctuation
 'p2'          Name
 ':'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
index db8504797e4b2236c5fed1bcadcec2979b5aa258..cf7b2f9740bd07d7c2751284cb52c26e5c317909 100644 (file)
@@ -3,8 +3,8 @@ a +: b
 
 ---tokens---
 'a'           Name
-' '           Text
+' '           Text.Whitespace
 '+:'          Operator
-' '           Text
+' '           Text.Whitespace
 'b'           Name
-'\n'          Text
+'\n'          Text.Whitespace
index 8a1f06ff36e10bcaf7d2e54463fa18574d54f676..a004410c8485c583323fac28a219f6542fb4b3c6 100644 (file)
@@ -7,4 +7,4 @@ a.b.c
 'b'           Name
 '.'           Punctuation
 'c'           Name
-'\n'          Text
+'\n'          Text.Whitespace
index b9d47c94015c81c29ae4b50ce4c86b196b429b09..7345092ad3e95c8b2c80f8b4731acde4d290ab99 100644 (file)
@@ -7,4 +7,4 @@ a.b.C
 'b'           Name
 '.'           Punctuation
 'C'           Name.Class
-'\n'          Text
+'\n'          Text.Whitespace
index f15ded806f8b4f0b3d3674bd9f9480c513b2bca7..6d96fd69d78d7e333632c48645795f21e6426797 100644 (file)
@@ -3,4 +3,4 @@
 
 ---tokens---
 '#!/usr/bin/scala' Comment.Hashbang
-'\n'          Text
+'\n'          Text.Whitespace
index 5d8a14f50a81c156b77d7eb4528ac96adea66545..518abce2f51b675fc06d9d8668ac976c9f525df3 100644 (file)
@@ -4,4 +4,4 @@ symbol*
 ---tokens---
 'symbol'      Name
 '*'           Operator
-'\n'          Text
+'\n'          Text.Whitespace
index bb1d987fa6fec5c2278b04c1d4edb97d736c642e..25e5dc639b7abeff7813027f4744ea3bfeecd995 100644 (file)
@@ -3,4 +3,4 @@ symbol_*
 
 ---tokens---
 'symbol_*'    Name
-'\n'          Text
+'\n'          Text.Whitespace
index f27754fd8b497d90e7219c3357ec42ed285f4ca4..f7a24af10e526122804c1fabee18cd3514d40a78 100644 (file)
@@ -3,10 +3,10 @@ val head = _head
 
 ---tokens---
 'val'         Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'head'        Name
-' '           Text
+' '           Text.Whitespace
 '='           Operator
-' '           Text
+' '           Text.Whitespace
 '_head'       Name
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/snippets/scheme/keywords.txt b/tests/snippets/scheme/keywords.txt
new file mode 100644 (file)
index 0000000..046a444
--- /dev/null
@@ -0,0 +1,43 @@
+---input---
+(define* (foo #:key (bar123? 'baz))
+  (display bar123?)
+  (newline))
+
+(foo #:bar123? 'xyz)
+
+---tokens---
+'('           Punctuation
+'define*'     Keyword
+' '           Text.Whitespace
+'('           Punctuation
+'foo'         Name.Function
+' '           Text.Whitespace
+'#:key'       Keyword.Declaration
+' '           Text.Whitespace
+'('           Punctuation
+'bar123?'     Name.Function
+' '           Text.Whitespace
+"'baz"        Literal.String.Symbol
+')'           Punctuation
+')'           Punctuation
+'\n  '        Text.Whitespace
+'('           Punctuation
+'display'     Name.Builtin
+' '           Text.Whitespace
+'bar123?'     Name.Variable
+')'           Punctuation
+'\n  '        Text.Whitespace
+'('           Punctuation
+'newline'     Name.Builtin
+')'           Punctuation
+')'           Punctuation
+'\n\n'        Text.Whitespace
+
+'('           Punctuation
+'foo'         Name.Function
+' '           Text.Whitespace
+'#:bar123?'   Keyword.Declaration
+' '           Text.Whitespace
+"'xyz"        Literal.String.Symbol
+')'           Punctuation
+'\n'          Text.Whitespace
diff --git a/tests/snippets/scheme/numbers.txt b/tests/snippets/scheme/numbers.txt
new file mode 100644 (file)
index 0000000..f03b3a7
--- /dev/null
@@ -0,0 +1,169 @@
+---input---
+;; All sorts of numbers, common and less common.
+
+0
+142
+-142
++142
+-0.5
++0.5
+-0.5e-10
++0.5e10
+0.5e+10
+.5F+10
+.123
+123.
+123.L-25|54
++inf.0
+-inf.0
+#b+nan.0-inf.0i
+1-2i
+1-i
++i
+-5f24@3.14159
+4/5
+5.4e5@4
+#i5
+#o5
+#i#o5
+#o#i5
+#b01/10
+#x0f42a
+#E#b01/10
+#d#I01/10
+#i-324@3.14159
+#o#I01/1022-inf.0i
+
+;; These are not numbers but plain symbols.
+
+1+
+1-
+i
+inf
+-inf
+nan
+-nan
+
+---tokens---
+';; All sorts of numbers, common and less common.' Comment.Single
+'\n\n'        Text.Whitespace
+
+'0'           Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'142'         Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'-142'        Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'+142'        Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'-0.5'        Literal.Number.Float
+'\n'          Text.Whitespace
+
+'+0.5'        Literal.Number.Float
+'\n'          Text.Whitespace
+
+'-0.5e-10'    Literal.Number.Float
+'\n'          Text.Whitespace
+
+'+0.5e10'     Literal.Number.Float
+'\n'          Text.Whitespace
+
+'0.5e+10'     Literal.Number.Float
+'\n'          Text.Whitespace
+
+'.5F+10'      Literal.Number.Float
+'\n'          Text.Whitespace
+
+'.123'        Literal.Number.Float
+'\n'          Text.Whitespace
+
+'123.'        Literal.Number.Float
+'\n'          Text.Whitespace
+
+'123.L-25|54' Literal.Number.Float
+'\n'          Text.Whitespace
+
+'+inf.0'      Literal.Number.Float
+'\n'          Text.Whitespace
+
+'-inf.0'      Literal.Number.Float
+'\n'          Text.Whitespace
+
+'#b+nan.0-inf.0i' Literal.Number.Bin
+'\n'          Text.Whitespace
+
+'1-2i'        Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'1-i'         Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'+i'          Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'-5f24@3.14159' Literal.Number.Float
+'\n'          Text.Whitespace
+
+'4/5'         Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'5.4e5@4'     Literal.Number.Float
+'\n'          Text.Whitespace
+
+'#i5'         Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'#o5'         Literal.Number.Oct
+'\n'          Text.Whitespace
+
+'#i#o5'       Literal.Number.Oct
+'\n'          Text.Whitespace
+
+'#o#i5'       Literal.Number.Oct
+'\n'          Text.Whitespace
+
+'#b01/10'     Literal.Number.Bin
+'\n'          Text.Whitespace
+
+'#x0f42a'     Literal.Number.Hex
+'\n'          Text.Whitespace
+
+'#E#b01/10'   Literal.Number.Bin
+'\n'          Text.Whitespace
+
+'#d#I01/10'   Literal.Number.Integer
+'\n'          Text.Whitespace
+
+'#i-324@3.14159' Literal.Number.Float
+'\n'          Text.Whitespace
+
+'#o#I01/1022-inf.0i' Literal.Number.Oct
+'\n\n'        Text.Whitespace
+
+';; These are not numbers but plain symbols.' Comment.Single
+'\n\n'        Text.Whitespace
+
+'1+'          Name.Builtin
+'\n'          Text.Whitespace
+
+'1-'          Name.Builtin
+'\n'          Text.Whitespace
+
+'i'           Name.Variable
+'\n'          Text.Whitespace
+
+'inf'         Name.Builtin
+'\n'          Text.Whitespace
+
+'-inf'        Name.Variable
+'\n'          Text.Whitespace
+
+'nan'         Name.Builtin
+'\n'          Text.Whitespace
+
+'-nan'        Name.Variable
+'\n'          Text.Whitespace
diff --git a/tests/snippets/scheme/strings.txt b/tests/snippets/scheme/strings.txt
new file mode 100644 (file)
index 0000000..9d03351
--- /dev/null
@@ -0,0 +1,85 @@
+---input---
+;; Test string escapes
+
+"basic string"
+
+"Strings can
+   span several
+
+          lines.
+                 "
+
+"Escapes:
+  \"
+  \\
+  \|
+  \a
+  \f
+  \n
+  \r
+  \t
+  \v
+  \b
+  \0
+  \(
+  \
+  \x125612;    (R6RS-style)
+  \x13         (Guile-style)
+  \u1234
+  \U123456
+"
+
+---tokens---
+';; Test string escapes' Comment.Single
+'\n\n'        Text.Whitespace
+
+'"'           Literal.String
+'basic string' Literal.String
+'"'           Literal.String
+'\n\n'        Text.Whitespace
+
+'"'           Literal.String
+'Strings can\n   span several\n\n          lines.\n                 ' Literal.String
+'"'           Literal.String
+'\n\n'        Text.Whitespace
+
+'"'           Literal.String
+'Escapes:\n  ' Literal.String
+'\\"'         Literal.String.Escape
+'\n  '        Literal.String
+'\\\\'        Literal.String.Escape
+'\n  '        Literal.String
+'\\|'         Literal.String.Escape
+'\n  '        Literal.String
+'\\a'         Literal.String.Escape
+'\n  '        Literal.String
+'\\f'         Literal.String.Escape
+'\n  '        Literal.String
+'\\n'         Literal.String.Escape
+'\n  '        Literal.String
+'\\r'         Literal.String.Escape
+'\n  '        Literal.String
+'\\t'         Literal.String.Escape
+'\n  '        Literal.String
+'\\v'         Literal.String.Escape
+'\n  '        Literal.String
+'\\b'         Literal.String.Escape
+'\n  '        Literal.String
+'\\0'         Literal.String.Escape
+'\n  '        Literal.String
+'\\('         Literal.String.Escape
+'\n  '        Literal.String
+'\\\n'        Literal.String.Escape
+
+'  '          Literal.String
+'\\x125612;'  Literal.String.Escape
+'    (R6RS-style)\n  ' Literal.String
+'\\x13'       Literal.String.Escape
+'         (Guile-style)\n  ' Literal.String
+'\\u1234'     Literal.String.Escape
+'\n  '        Literal.String
+'\\U123456'   Literal.String.Escape
+'\n'          Literal.String
+
+'"'           Literal.String
+'\n'          Text.Whitespace
diff --git a/tests/snippets/snbt/json.txt b/tests/snippets/snbt/json.txt
new file mode 100644 (file)
index 0000000..7b02134
--- /dev/null
@@ -0,0 +1,43 @@
+---input---
+{
+    "text": "This is JSON",
+    "extra": [
+        "however",
+        "it's also technically valid SNBT.."
+    ]
+}
+
+---tokens---
+'{'           Punctuation
+'\n    '      Text.Whitespace
+'"'           Literal.String.Double
+'text'        Literal.String.Double
+'"'           Literal.String.Double
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'This is JSON' Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+'\n    '      Text.Whitespace
+'"'           Literal.String.Double
+'extra'       Literal.String.Double
+'"'           Literal.String.Double
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'\n        '  Text.Whitespace
+'"'           Literal.String.Double
+'however'     Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+'\n        '  Text.Whitespace
+'"'           Literal.String.Double
+"it's also technically valid SNBT.." Literal.String.Double
+'"'           Literal.String.Double
+'\n    '      Text.Whitespace
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+'\n'          Text
diff --git a/tests/snippets/snbt/literals.txt b/tests/snippets/snbt/literals.txt
new file mode 100644 (file)
index 0000000..cc852b8
--- /dev/null
@@ -0,0 +1,41 @@
+---input---
+{int: 1, byte: 0b, short: 1s, long: 10000L, float: 10.0f, double: 20.0}
+
+---tokens---
+'{'           Punctuation
+'int'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'byte'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'0b'          Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'short'       Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'1s'          Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'long'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'10000L'      Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'float'       Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'10.0f'       Literal.Number.Float
+','           Punctuation
+' '           Text.Whitespace
+'double'      Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'20.0'        Literal.Number.Float
+'}'           Punctuation
+'\n'          Text
diff --git a/tests/snippets/snbt/multiline.txt b/tests/snippets/snbt/multiline.txt
new file mode 100644 (file)
index 0000000..35a6a53
--- /dev/null
@@ -0,0 +1,56 @@
+---input---
+{
+    key: "cool compound",
+    UUID: [I;459130179,987513928,-1425663264,-175461800],
+    list: [
+        0,
+        1,
+        3
+    ]
+}
+
+---tokens---
+'{'           Punctuation
+'\n    '      Text.Whitespace
+'key'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'cool compound' Literal.String.Double
+'"'           Literal.String.Double
+','           Punctuation
+'\n    '      Text.Whitespace
+'UUID'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'I'           Name.Attribute
+';'           Punctuation
+'459130179'   Literal.Number.Integer
+','           Punctuation
+'987513928'   Literal.Number.Integer
+','           Punctuation
+'-1425663264' Literal.Number.Integer
+','           Punctuation
+'-175461800'  Literal.Number.Integer
+']'           Punctuation
+','           Punctuation
+'\n    '      Text.Whitespace
+'list'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'\n        '  Text.Whitespace
+'0'           Literal.Number.Integer
+','           Punctuation
+'\n        '  Text.Whitespace
+'1'           Literal.Number.Integer
+','           Punctuation
+'\n        '  Text.Whitespace
+'3'           Literal.Number.Integer
+'\n    '      Text.Whitespace
+']'           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+'\n'          Text
diff --git a/tests/snippets/snbt/nesting.txt b/tests/snippets/snbt/nesting.txt
new file mode 100644 (file)
index 0000000..317a9c8
--- /dev/null
@@ -0,0 +1,39 @@
+---input---
+{root: [{compound: 1b}, {compound: 2b, tag: {key: "value"}}]}
+
+---tokens---
+'{'           Punctuation
+'root'        Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'['           Punctuation
+'{'           Punctuation
+'compound'    Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'1b'          Literal.Number.Integer
+'}'           Punctuation
+','           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'compound'    Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'2b'          Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'tag'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'key'         Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'value'       Literal.String.Double
+'"'           Literal.String.Double
+'}'           Punctuation
+'}'           Punctuation
+']'           Punctuation
+'}'           Punctuation
+'\n'          Text
diff --git a/tests/snippets/snbt/quoted_keys.txt b/tests/snippets/snbt/quoted_keys.txt
new file mode 100644 (file)
index 0000000..8e54f5f
--- /dev/null
@@ -0,0 +1,29 @@
+---input---
+{"special--key": 10b, normal_key: false, "json..///_type_key": "yup"}
+
+---tokens---
+'{'           Punctuation
+'"'           Literal.String.Double
+'special--key' Literal.String.Double
+'"'           Literal.String.Double
+':'           Punctuation
+' '           Text.Whitespace
+'10b'         Literal.Number.Integer
+','           Punctuation
+' '           Text.Whitespace
+'normal_key'  Name.Attribute
+':'           Punctuation
+' '           Text.Whitespace
+'false'       Name.Attribute
+','           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'json..///_type_key' Literal.String.Double
+'"'           Literal.String.Double
+':'           Punctuation
+' '           Text.Whitespace
+'"'           Literal.String.Double
+'yup'         Literal.String.Double
+'"'           Literal.String.Double
+'}'           Punctuation
+'\n'          Text
index df0586d4350842de70d84531adb1e3fd58719f2b..ff02a5827f096b58adb3594a92a9d5638916ddfe 100644 (file)
@@ -18,7 +18,7 @@ terraform {
 '"consul"'    Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '    '        Text.Whitespace
 'address'     Name.Attribute
index 933225cab77d2ae9aadaaf06c6f64e21b0e3e230..9f5c1a7c836307ad2436b4b27d1ca7b886093464 100644 (file)
@@ -1,14 +1,20 @@
 ---input---
 # Single line comment
+// Non-idiomatic single line comment
 /* multiline
 
   comment
 
 */
+provider "azurerm" { # (1)
+  features {}
+} 
 
 ---tokens---
 '# Single line comment\n' Comment.Single
 
+'// Non-idiomatic single line comment\n' Comment.Single
+
 '/*'          Comment.Multiline
 ' '           Comment.Multiline
 'm'           Comment.Multiline
 
 '*/'          Comment.Multiline
 '\n'          Text.Whitespace
+
+'provider'    Keyword.Reserved
+' '           Text.Whitespace
+'"azurerm"'   Name.Variable
+' '           Text.Whitespace
+'{'           Punctuation
+' # (1)\n'    Comment.Single
+
+'  '          Text.Whitespace
+'features'    Name.Builtin
+' '           Text.Whitespace
+'{'           Punctuation
+'}'           Punctuation
+'\n'          Text.Whitespace
+
+'}'           Punctuation
+' \n'         Text.Whitespace
index 009edc60a91eb8a2142f9ba826925af80d4c0936..b00c7a5ec3328337b886200fd62cf65cb56734bf 100644 (file)
@@ -13,7 +13,7 @@ provider "aws" {
 '"aws"'       Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'value'       Name.Attribute
@@ -36,7 +36,7 @@ provider "aws" {
 '"aws"'       Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'value'       Name.Attribute
index 243087bf82980ecf3dbd6501bf0ca3166fc7a3da..1d73734da49a88669b8227ab553265ccacd560d2 100644 (file)
@@ -13,7 +13,7 @@ resource "local_file" "heredoc" {
 '"heredoc"'   Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'content'     Name.Attribute
index 132af193f26223ed32e8742a62b0f967a63c9a1d..5a5876b01ef39bc26468087465d59276f608ece0 100644 (file)
@@ -10,7 +10,7 @@ module "consul" {
 '"consul"'    Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'source'      Name.Attribute
index 63e24d8ffc1d281226c606272af9f48881e15194..7b2815a7ff15883d6072fe349c27813043e6a231 100644 (file)
@@ -39,7 +39,7 @@ resource "aws_security_group" "allow_tls" {
 '"base_igw"'  Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'vpc_id'      Name.Attribute
@@ -81,7 +81,7 @@ resource "aws_security_group" "allow_tls" {
 '"allow_tls"' Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'name'        Name.Attribute
index b1a15d74a035512e7ae14ecf865ca8843086c2f3..b68924482096304a0a9a5b1c8257cd457617ea39 100644 (file)
@@ -17,7 +17,7 @@ variable "set-str" {
 '"consul"'    Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'data'        Keyword.Reserved
 ' '           Text.Whitespace
@@ -26,35 +26,35 @@ variable "set-str" {
 '"example"'   Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'module'      Keyword.Reserved
 ' '           Text.Whitespace
 '"consul"'    Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'output'      Keyword.Reserved
 ' '           Text.Whitespace
 '"instance_ip_addr"' Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'provider'    Keyword.Reserved
 ' '           Text.Whitespace
 '"aws"'       Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'provisioner' Keyword.Reserved
 ' '           Text.Whitespace
 '"local-exec"' Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'resource'    Keyword.Reserved
 ' '           Text.Whitespace
@@ -63,21 +63,21 @@ variable "set-str" {
 '"base_igw"'  Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'variable'    Keyword.Reserved
 ' '           Text.Whitespace
 '"aws_region"' Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 'variable'    Keyword.Reserved
 ' '           Text.Whitespace
 '"set-str"'   Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'type'        Name.Attribute
index abff221acd1d8bfbaae0064e7b5dd47b1cd81123..72e515e1164f326944d9bdcf083a3784053ac392 100644 (file)
@@ -11,7 +11,7 @@ variable "aws_region" {
 '"aws_region"' Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'description' Name.Attribute
index a90ddccac6ba994af94dd11c56a33a06c5c41a86..25afcf4d79384e1a6528256e7c473af1a7d0ad74 100644 (file)
@@ -9,7 +9,7 @@ provider "aws" {
 '"aws"'       Name.Variable
 ' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '  '          Text.Whitespace
 'region'      Name.Attribute
index a2e10a8b8b83e101b130414aae5de35e2adbdea7..925c380b44405b158768ac67e875ee2bea84e6c2 100644 (file)
@@ -4,15 +4,15 @@ async function main() {
 
 ---tokens---
 'async'       Keyword
-' '           Text
+' '           Text.Whitespace
 'function'    Keyword.Declaration
-' '           Text
+' '           Text.Whitespace
 'main'        Name.Other
 '('           Punctuation
 ')'           Punctuation
-' '           Text
+' '           Text.Whitespace
 '{'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
 
 '}'           Punctuation
-'\n'          Text
+'\n'          Text.Whitespace
diff --git a/tests/snippets/unixconfig/etc_group.txt b/tests/snippets/unixconfig/etc_group.txt
new file mode 100644 (file)
index 0000000..3294ed5
--- /dev/null
@@ -0,0 +1,45 @@
+---input---
+root:x:0:
+sudo:x:1:syslog,user
+syslog:x:2:
+#adm:x:3:
+
+user:x:1000
+
+---tokens---
+'root'        Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'0'           Literal.Number
+':'           Punctuation
+'\n'          Text.Whitespace
+
+'sudo'        Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'1'           Literal.Number
+':'           Punctuation
+'syslog,user' Text
+'\n'          Text.Whitespace
+
+'syslog'      Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'2'           Literal.Number
+':'           Punctuation
+'\n'          Text.Whitespace
+
+'#adm:x:3:'   Comment
+'\n'          Text.Whitespace
+
+'\n'          Text.Whitespace
+
+'user'        Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'1000'        Literal.Number
+'\n'          Text.Whitespace
diff --git a/tests/snippets/unixconfig/etc_passwd.txt b/tests/snippets/unixconfig/etc_passwd.txt
new file mode 100644 (file)
index 0000000..540e41f
--- /dev/null
@@ -0,0 +1,86 @@
+---input---
+root:x:0:0:root:/root:/bin/bash
+daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
+#irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
+gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
+nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
+systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
+
+---tokens---
+'root'        Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'0'           Literal.Number
+':'           Punctuation
+'0'           Literal.Number
+':'           Punctuation
+'root'        Text
+':'           Punctuation
+'/root'       Literal.String
+':'           Punctuation
+'/bin/bash'   Literal.String
+'\n'          Text.Whitespace
+
+'daemon'      Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'1'           Literal.Number
+':'           Punctuation
+'1'           Literal.Number
+':'           Punctuation
+'daemon'      Text
+':'           Punctuation
+'/usr/sbin'   Literal.String
+':'           Punctuation
+'/usr/sbin/nologin' Literal.String
+'\n'          Text.Whitespace
+
+'#irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin' Comment
+'\n'          Text.Whitespace
+
+'gnats'       Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'41'          Literal.Number
+':'           Punctuation
+'41'          Literal.Number
+':'           Punctuation
+'Gnats Bug-Reporting System (admin)' Text
+':'           Punctuation
+'/var/lib/gnats' Literal.String
+':'           Punctuation
+'/usr/sbin/nologin' Literal.String
+'\n'          Text.Whitespace
+
+'nobody'      Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'65534'       Literal.Number
+':'           Punctuation
+'65534'       Literal.Number
+':'           Punctuation
+'nobody'      Text
+':'           Punctuation
+'/nonexistent' Literal.String
+':'           Punctuation
+'/usr/sbin/nologin' Literal.String
+'\n'          Text.Whitespace
+
+'systemd-network' Text
+':'           Punctuation
+'x'           Literal.String
+':'           Punctuation
+'100'         Literal.Number
+':'           Punctuation
+'102'         Literal.Number
+':'           Punctuation
+'systemd Network Management,,,' Text
+':'           Punctuation
+'/run/systemd' Literal.String
+':'           Punctuation
+'/usr/sbin/nologin' Literal.String
+'\n'          Text.Whitespace
diff --git a/tests/snippets/unixconfig/etc_shadow.txt b/tests/snippets/unixconfig/etc_shadow.txt
new file mode 100644 (file)
index 0000000..6b1d92a
--- /dev/null
@@ -0,0 +1,74 @@
+---input---
+root:$6$L95fNbtS$IZ8affe7h2B.DF81HZ:17262:0:14600:14:::
+#nobody:*:18375:0:99999:7:::
+bin:*:17110:0:99999:7:::
+user:$6$KmghZnvbZs7f3SQ9$H6f0M61q5Cf8JLrS0kR3M97/o6GzD6FH3MbLs92CM/l9mHZ7FngBzRfa8D5NrWl.K8nM64affeWrY/L0U7nBt/:19097:0:99999:7:::
+linoadmin:!!:17289:0:99999:7:::
+
+---tokens---
+'root'        Text
+':'           Punctuation
+'$6$L95fNbtS$IZ8affe7h2B.DF81HZ' Literal.String
+':'           Punctuation
+'17262'       Literal.Number
+':'           Punctuation
+'0'           Literal.Number
+':'           Punctuation
+'14600'       Literal.Number
+':'           Punctuation
+'14'          Literal.Number
+':'           Punctuation
+':'           Punctuation
+':'           Punctuation
+'\n'          Text.Whitespace
+
+'#nobody:*:18375:0:99999:7:::' Comment
+'\n'          Text.Whitespace
+
+'bin'         Text
+':'           Punctuation
+'*'           Literal.String
+':'           Punctuation
+'17110'       Literal.Number
+':'           Punctuation
+'0'           Literal.Number
+':'           Punctuation
+'99999'       Literal.Number
+':'           Punctuation
+'7'           Literal.Number
+':'           Punctuation
+':'           Punctuation
+':'           Punctuation
+'\n'          Text.Whitespace
+
+'user'        Text
+':'           Punctuation
+'$6$KmghZnvbZs7f3SQ9$H6f0M61q5Cf8JLrS0kR3M97/o6GzD6FH3MbLs92CM/l9mHZ7FngBzRfa8D5NrWl.K8nM64affeWrY/L0U7nBt/' Literal.String
+':'           Punctuation
+'19097'       Literal.Number
+':'           Punctuation
+'0'           Literal.Number
+':'           Punctuation
+'99999'       Literal.Number
+':'           Punctuation
+'7'           Literal.Number
+':'           Punctuation
+':'           Punctuation
+':'           Punctuation
+'\n'          Text.Whitespace
+
+'linoadmin'   Text
+':'           Punctuation
+'!!'          Literal.String
+':'           Punctuation
+'17289'       Literal.Number
+':'           Punctuation
+'0'           Literal.Number
+':'           Punctuation
+'99999'       Literal.Number
+':'           Punctuation
+'7'           Literal.Number
+':'           Punctuation
+':'           Punctuation
+':'           Punctuation
+'\n'          Text.Whitespace
diff --git a/tests/snippets/xml/multiline-comment-catastrophic-backtracking.txt b/tests/snippets/xml/multiline-comment-catastrophic-backtracking.txt
new file mode 100644 (file)
index 0000000..76f2fb9
--- /dev/null
@@ -0,0 +1,34 @@
+---input---
+<!--
+this
+comment
+is
+never
+terminated
+...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+...
+
+---tokens---
+'<'           Error
+'!--\nthis\ncomment\nis\nnever\nterminated\n...\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n...\n' Text
index 24e42ca2eacf281335799753fc7a45a2440a0e5c..1767572f148e1424149057ab607beddbc08ab49c 100644 (file)
@@ -2,7 +2,7 @@
     Pygments basic API tests
     ~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 52009b92cc618dbc0860a64acbb0fafa22d1befb..c05fd01a23e03d4cf92865eac2d87c58c05e8d50 100644 (file)
@@ -2,7 +2,7 @@
     Command line test
     ~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 56af6ba476d8810d8a6e6341ed523bf7377ad00d..3d167274b7aace488dc7396489a79123306ac9d7 100644 (file)
@@ -2,7 +2,7 @@
     CoffeeScript tests
     ~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index f4d9e8584684cef24218549446b81cda98b5902f..962d9e5f2e7d55054bb9c349378f14969b07eeb3 100644 (file)
@@ -2,7 +2,7 @@
     Basic CrystalLexer Test
     ~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index ca58dbf19308dd23b100764b6ee99fbe38f3d374..719f8bfb81d243d9cb36ba7799d2903f9cfe5497 100644 (file)
@@ -2,7 +2,7 @@
     Data Tests
     ~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -11,8 +11,8 @@ import time
 import pytest
 
 from pygments.lexers.data import JsonLexer, JsonBareObjectLexer, JsonLdLexer
-from pygments.token import Token, Punctuation, Text, Number, String, Keyword, \
-        Name, Whitespace
+from pygments.token import Comment, Error, Token, Punctuation, Number, String, \
+        Keyword, Name, Whitespace
 
 
 @pytest.fixture(scope='module')
@@ -68,12 +68,6 @@ def lexer_json_ld():
         ('false', (Keyword.Constant, )),
         ('null', (Keyword.Constant, )),
 
-        # Whitespace
-        ('\u0020', (Whitespace,)),  # space
-        ('\u000a', (Whitespace,)),  # newline
-        ('\u000d', (Whitespace,)),  # carriage return
-        ('\u0009', (Whitespace,)),  # tab
-
         # Arrays
         ('[]', (Punctuation,)),
         ('["a", "b"]', (Punctuation, String.Double, Punctuation,
@@ -85,14 +79,35 @@ def lexer_json_ld():
                         Whitespace, String.Double, Punctuation)),
     )
 )
-def test_json_literals_positive_match(lexer_json, text, expected_token_types):
+@pytest.mark.parametrize('end', ('', '\n'))
+def test_json_literals_positive_match(lexer_json, text, expected_token_types, end):
     """Validate that syntactically-correct JSON literals are parsed correctly."""
 
-    tokens = list(lexer_json.get_tokens_unprocessed(text))
-    assert len(tokens) == len(expected_token_types)
+    tokens = list(lexer_json.get_tokens_unprocessed(text + end))
+    assert len(tokens) == len(expected_token_types) + bool(end)
     assert all(token[1] is expected_token
                for token, expected_token in zip(tokens, expected_token_types))
-    assert ''.join(token[2] for token in tokens) == text
+    assert ''.join(token[2] for token in tokens) == text + end
+
+
+@pytest.mark.parametrize(
+    'text, expected',
+    (
+        ('\u0020', Whitespace),  # space
+        ('\u000a', Whitespace),  # newline
+        ('\u000d', Whitespace),  # carriage return
+        ('\u0009', Whitespace),  # tab
+    )
+)
+def test_json_whitespace_positive_match(lexer_json, text, expected):
+    """Validate that whitespace is parsed correctly."""
+
+    tokens = list(lexer_json.get_tokens_unprocessed(text))
+    assert tokens == [(0, expected, text)]
+
+    # Expand the whitespace and verify parsing again.
+    tokens = list(lexer_json.get_tokens_unprocessed(text * 2 + ' '))
+    assert tokens == [(0, expected, text * 2 + ' ')]
 
 
 @pytest.mark.parametrize(
@@ -111,6 +126,15 @@ def test_json_object_key_escapes_positive_match(lexer_json, text):
     assert tokens[1][2] == '"\\%s"' % text
 
 
+@pytest.mark.parametrize('text', ('uz', 'u1z', 'u12z', 'u123z'))
+def test_json_string_unicode_escapes_negative_match(lexer_json, text):
+    """Validate that if unicode escape sequences end abruptly there's no problem."""
+
+    tokens = list(lexer_json.get_tokens_unprocessed('"\\%s"' % text))
+    assert len(tokens) == 1
+    assert tokens[0] == (0, String.Double, '"\\%s"' % text)
+
+
 @pytest.mark.parametrize(
     'text',
     (
@@ -128,7 +152,7 @@ def test_json_string_escapes_positive_match(lexer_json, text):
     assert tokens[0][2] == text
 
 
-@pytest.mark.parametrize('text', ('+\n', '0\n', '""0\n', 'a\nb\n',))
+@pytest.mark.parametrize('text', ('+\n', '0\n', '""0\n', 'a\nb\n', '""/-'))
 def test_json_round_trip_errors(lexer_json, text):
     """Validate that past round-trip errors never crop up again."""
 
@@ -136,6 +160,64 @@ def test_json_round_trip_errors(lexer_json, text):
     assert ''.join(t[2] for t in tokens) == text
 
 
+def test_json_comments_single_line_positive_matches(lexer_json):
+    """Verify that single-line comments are tokenized correctly."""
+
+    text = '{"a//b"//C1\n:123/////C2\n}\n// // C3'
+    tokens = list(lexer_json.get_tokens_unprocessed(text))
+    assert tokens[2] == (7, Comment.Single, "//C1")
+    assert tokens[6] == (16, Comment.Single, "/////C2")
+    assert tokens[10] == (26, Comment.Single, "// // C3")
+
+    comment_count = sum(1 for token in tokens if token[1] == Comment or token[1].parent == Comment)
+    assert comment_count == 3
+
+    parsed_text = ''.join(token[2] for token in tokens)
+    assert parsed_text == text, 'Input and output texts must match!'
+
+
+def test_json_comments_multiline_positive_matches(lexer_json):
+    """Verify that multiline comments are tokenized correctly."""
+
+    text = '/** / **/{"a /**/ b"/* \n */:123}'
+    tokens = list(lexer_json.get_tokens_unprocessed(text))
+    assert tokens[0] == (0, Comment.Multiline, "/** / **/")
+    assert tokens[3] == (20, Comment.Multiline, "/* \n */")
+
+    comment_count = sum(1 for token in tokens if token[1] == Comment or token[1].parent == Comment)
+    assert comment_count == 2
+
+    parsed_text = ''.join(token[2] for token in tokens)
+    assert parsed_text == text, 'Input and output texts must match!'
+
+
+@pytest.mark.parametrize(
+    "text, expected",
+    (
+        # Unfinished comment openers
+        ('/', (0, Error, '/')),
+        ('1/', (1, Error, '/')),
+        ('/1', (0, Error, '/')),
+        ('""/', (2, Error, '/')),
+        # Unclosed multiline comments
+        ('/*', (0, Error, '/*')),
+        ('/**', (0, Error, '/**')),
+        ('/*/', (0, Error, '/*/')),
+        ('1/*', (1, Error, '/*')),
+        ('""/*', (2, Error, '/*')),
+        ('""/**', (2, Error, '/**')),
+    )
+)
+def test_json_comments_negative_matches(lexer_json, text, expected):
+    """Verify that the unfinished or unclosed comments are parsed as errors."""
+
+    tokens = list(lexer_json.get_tokens_unprocessed(text))
+    assert expected in tokens
+
+    parsed_text = ''.join(token[2] for token in tokens)
+    assert parsed_text == text, 'Input and output texts must match!'
+
+
 def test_json_escape_backtracking(lexer_json):
     """Confirm that there is no catastrophic backtracking in the lexer.
 
index fd72b15cc04c10b8748527c0ed02a3949e2e876d..e3aeb4d43c1f41fb948f0f29c38409a366c820b3 100644 (file)
@@ -2,7 +2,7 @@
     Devicetree Lexer Tests
     ~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
diff --git a/tests/test_groff_formatter.py b/tests/test_groff_formatter.py
new file mode 100644 (file)
index 0000000..faad338
--- /dev/null
@@ -0,0 +1,40 @@
+"""
+    Pygments Groff formatter tests
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+from pygments import highlight
+from pygments.lexer import RegexLexer
+from pygments.style import Style
+from pygments.token import Token
+from pygments.formatters import GroffFormatter
+
+
+# FIXME: this tests a bug fix, but the basic functionality
+# is not tested thoroughly yet.
+
+class ToyLexer(RegexLexer):
+    tokens = {
+        "root": [
+            ("a", Token.Name),
+            ("b", Token.Name.Custom),
+        ],
+    }
+
+class ToyStyle(Style):
+    styles = {
+        Token.Name: "bold",
+    }
+
+
+expected = r""".nf
+\f[CR]
+\f[CB]a\f[CR]\f[CB]b\f[CR]
+
+.fi"""
+
+def test_inheritance_custom_tokens():
+    assert highlight("ab", ToyLexer(), GroffFormatter(style=ToyStyle)) == expected
index 83a8a718756e40a6e556269c05d481f92ad62560..8adf1613ab09779b2958cebacade6887e026d461 100644 (file)
@@ -2,7 +2,7 @@
     Pygments basic API tests
     ~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 20661c9e5a8762d9c886bb3238274214c58c8f0d..e1a02b2437a8bdabee2f49391b2eb55dd4b75291 100644 (file)
@@ -2,7 +2,7 @@
     Pygments HTML formatter tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -93,6 +93,14 @@ def test_all_options():
                     check(optdict)
 
 
+def test_linespans():
+    outfile = StringIO()
+    fmt = HtmlFormatter(linespans='L', anchorlinenos=True, linenos="inline")
+    fmt.format(tokensource, outfile)
+    html = outfile.getvalue()
+    assert re.search(r"""<span id="L-1">\s*<a href="#L-1"><span\s*class="linenos">\s*1</span></a>""", html)
+
+
 def test_lineanchors():
     optdict = dict(lineanchors="foo")
     outfile = StringIO()
index eda2cd7606a8647144fa9a7d68f086052c4b4df8..fe991498639c5b001703adedef734880756287ac 100644 (file)
@@ -2,7 +2,7 @@
     HTML Lexer Tests
     ~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -75,7 +75,7 @@ def test_long_unclosed_javascript_fragment(lexer_html):
     # unclosed
     assert tokens[len(tokens_intro):-1] == tokens_body * reps
     # and of course, the newline we get for free from get_tokens
-    assert tokens[-1] == (Token.Text, "\n")
+    assert tokens[-1] == (Token.Text.Whitespace, "\n")
 
 
 def test_long_unclosed_css_fragment(lexer_html):
index 74d04b7ddb06f33b470f8efaeedc94c1afa892d9..a2763784700ca59c6164b954fbdbc9d267e584db 100644 (file)
@@ -2,7 +2,7 @@
     Tests for inheritance in RegexLexer
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 4f0e95702d25fae631cfd107095ba4da9bb90a67..bedef95d1cf27ddc75b56647b774205c2460343e 100644 (file)
@@ -2,7 +2,7 @@
     Pygments IRC formatter tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index e3f8182d3984894a9a1fa757244178f9ce0e6846..a50e862e753f7ba07443db6523ba6ab93dd6a018 100644 (file)
@@ -2,7 +2,7 @@
     Basic JavaLexer Test
     ~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 740b783166503c691f0fb4450a992eca7185a0ff..05f74e27626be1e1cdf877839085b7eb16bb218e 100644 (file)
@@ -2,7 +2,7 @@
     Javascript tests
     ~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index d22499aa0e6e4caaa85f413833f872a4202ac727..967a9f195fd6d4d710e1afa80216ad99f6a6ec2b 100644 (file)
@@ -2,13 +2,14 @@
     Pygments LaTeX formatter tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 import os
 import tempfile
 from os import path
+from io import StringIO
 from textwrap import dedent
 
 import pytest
@@ -22,6 +23,17 @@ TESTDIR = path.dirname(path.abspath(__file__))
 TESTFILE = path.join(TESTDIR, 'test_latex_formatter.py')
 
 
+def test_correct_output():
+    with open(TESTFILE) as fp:
+        tokensource = list(PythonLexer().get_tokens(fp.read()))
+    hfmt = LatexFormatter(nowrap=True)
+    houtfile = StringIO()
+    hfmt.format(tokensource, houtfile)
+
+    assert r'\begin{Verbatim}' not in houtfile.getvalue()
+    assert r'\end{Verbatim}' not in houtfile.getvalue()
+
+
 def test_valid_output():
     with open(TESTFILE) as fp:
         tokensource = list(PythonLexer().get_tokens(fp.read()))
index cbbc1a703cf5e3a15b109737f54875ad99c3c38c..46b29112bd39b73fd2faf33f1863af96565e261f 100644 (file)
@@ -2,7 +2,7 @@
     Pygments Markdown lexer tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9fa7c8499c187f0018c6ab49aa61fb0cda1dbef2..86acbd7c10accd1478b0747ec6ff4ba420ed64f4 100644 (file)
@@ -2,7 +2,7 @@
     Tests for the vim modeline feature
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 6701ab365247a79a734503dd8e4eff3476025523..39da8f5f1389524fd6d86f4295c307ce212299d6 100644 (file)
@@ -2,7 +2,7 @@
     Pygments MySQL lexer tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 5ab89f542381f2193565b8ce2d01e08eacb16df7..e4685466c6f4f60c6b957640da0218de00c77da9 100644 (file)
@@ -2,7 +2,7 @@
     Pygments Pango Markup formatter tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -26,18 +26,18 @@ function foobar(a, b) {
 }
 """
 
-OUTPUT = r"""<tt><span fgcolor="#"><b>function</b></span> foobar(a, b) {
-   <span fgcolor="#"><b>if</b></span> (a <span fgcolor="#">></span> b) {
-      <span fgcolor="#"><b>return</b></span> a <span fgcolor="#">&amp;</span> b;
-   }
-   <span fgcolor="#"><b>if</b></span> (a <span fgcolor="#">&lt;</span> b) {
-      <span fgcolor="#"><b>return</b></span> <span fgcolor="#"><b>true</b></span>;
-   }
-   console.log(<span fgcolor="#">"single quote ' and double quote \""</span>)
-   console.log(<span fgcolor="#">'single quote \' and double quote "'</span>)
-   <span fgcolor="#"><i>// comment with äöü ç
-</i></span>}
-</tt>"""
+OUTPUT = r"""<tt><span fgcolor="#"><b>function</b></span><span fgcolor="#"> </span>foobar(a,<span fgcolor="#"> </span>b)<span fgcolor="#"> </span>{<span fgcolor="#">
+   </span><span fgcolor="#"><b>if</b></span><span fgcolor="#"> </span>(a<span fgcolor="#"> </span><span fgcolor="#">></span><span fgcolor="#"> </span>b)<span fgcolor="#"> </span>{<span fgcolor="#">
+      </span><span fgcolor="#"><b>return</b></span><span fgcolor="#"> </span>a<span fgcolor="#"> </span><span fgcolor="#">&amp;</span><span fgcolor="#"> </span>b;<span fgcolor="#">
+   </span>}<span fgcolor="#">
+   </span><span fgcolor="#"><b>if</b></span><span fgcolor="#"> </span>(a<span fgcolor="#"> </span><span fgcolor="#">&lt;</span><span fgcolor="#"> </span>b)<span fgcolor="#"> </span>{<span fgcolor="#">
+      </span><span fgcolor="#"><b>return</b></span><span fgcolor="#"> </span><span fgcolor="#"><b>true</b></span>;<span fgcolor="#">
+   </span>}<span fgcolor="#">
+   </span>console.log(<span fgcolor="#">"single quote ' and double quote \""</span>)<span fgcolor="#">
+   </span>console.log(<span fgcolor="#">'single quote \' and double quote "'</span>)<span fgcolor="#">
+   </span><span fgcolor="#"><i>// comment with äöü ç</i></span><span fgcolor="#">
+</span>}<span fgcolor="#">
+</span></tt>"""
 
 def test_correct_output():
     markup = highlight(INPUT, JavascriptLexer(), PangoMarkupFormatter())
index 7c05ea8875019a45b6f54c21d87e7541a74e4cae..15d06af3c572a19fdd02aa556b4dc1d1097a4533 100644 (file)
@@ -2,7 +2,7 @@
     Pygments regex lexer tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 45ae20b1eb1fa63a5b6fba2204c5d6a24e465c0c..5235d2c2aed5e672584a829832dd3fbebf03649c 100644 (file)
@@ -2,7 +2,7 @@
     Pygments regex lexer tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 22440b11f9775a55f29c08691b6e3508d49ac207..2116467e8cac9457e0231cd813a36d0bd48b3d72 100644 (file)
@@ -2,7 +2,7 @@
     Tests for pygments.regexopt
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index d768885f707eefa902effa621a07a121401900b3..807fbc4e31ffa26807453de38738b3f4c7b1536e 100644 (file)
@@ -2,7 +2,7 @@
     Pygments Robot Framework lexer tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index a6c048cdddbaf3a44c5f296440859591b1e45a51..1f3ee6e3b66fc36a43ce894606fad06fad958d58 100644 (file)
@@ -2,7 +2,7 @@
     Pygments RTF formatter tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 8fbd3eea8c27ab318878261d4b5f84768cc84584..e0a20f9b028a37067d576d0aa14e47cb78dd5434 100644 (file)
@@ -2,7 +2,7 @@
     Pygments SQL lexers tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index edc704d867717b086522946bfc5e749661a66ce6..c1a7ec7bf6a41ed964f8238de2bb5625fbe7ae87 100644 (file)
@@ -2,7 +2,7 @@
     Pygments terminal formatter tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index b52b35c6f5d4e5a7acaf0218a4f4a852c6438243..c2282ac47c4201db851fa6dfd7841144723360cb 100644 (file)
@@ -2,7 +2,7 @@
     Typograhic Number Theory tests
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 9f08fc252e20a41c57521b01fffa3a4e7d98afca..c15547565d1aea0ef27bd0465ab266a8a56a2cf6 100644 (file)
@@ -2,7 +2,7 @@
     Test suite for the token module
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index cf58d10dfd76c00d293b60171c928b7ef7451451..65fb1fc5e0949311651d45f89b651557a89bd5a5 100644 (file)
@@ -2,7 +2,7 @@
     Test suite for the unistring module
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 40ed189d9f702a9ee02f4b52c86e33c28eb8ef4a..7b0b0303512bf0822629278206a87d05803fca71 100644 (file)
@@ -2,7 +2,7 @@
     Pygments tests for using()
     ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index ab4826bf2cbbec079ef93fe3b9d5938a261c4699..d140836d9d2d088b1c78763f9aea23142f0123f3 100644 (file)
@@ -2,7 +2,7 @@
     Test suite for the util module
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
index 27392596c83ea694f60b7142b410bd0682b1a3b9..bbc9cd22661db3e709a423d87a45e36d1a9c5754 100644 (file)
@@ -2,7 +2,7 @@
     Pygments tests for words()
     ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """